Imaga processing device, printing control device, image processing method, and recorded medium

ABSTRACT

When image data is converted into an expression format based on the dot on-off state, such conversion is performed in a unit of a raster group comprising a predetermined number of adjacent rasters. When this is done, the binarization errors occurring in each pixel of the last raster located in the last position of such raster group are diffused into surrounding pixels and stored in a first storage unit. The errors are read out from the first storage unit for dot on-off state determination regarding the first raster of the raster group adjacent to the above-mentioned last raster, and binarization errors occurring in connection with this determination are stored in a second storage unit that permits faster reading and writing of data than the first storage unit. The remaining rasters following the first raster are converted into dot rows by conducting dot on-off state determination for each pixel therein in parallel with the process to convert the first raster into a dot row while taking into account the binarization errors that occurred in the first raster. Consequently, the errors that are taken into account by the pixels of the same raster are stored in the second storage unit that permits faster high-speed reading and writing of data, and the image data for the raster group can be converted at a high speed.

TECHNICAL FIELD

[0001] This invention relates to a technology for converting image datathat is expressed in terms of tone values for multiple pixels includedin an image, and more particularly, to a technology for converting thisimage data to image data using a specific expression format that isbased on the dot on-off state of each pixel.

BACKGROUND ART

[0002] Image display apparatuses that express images through theformation of dots on a display medium such as a printing medium or aliquid crystal display are widely used as output devices for varioustypes of image equipment. These image display apparatuses can onlyexpress images locally in terms of whether or not a dot is formed, butby appropriately controlling the density of dot formation in accordancewith the tone values of the image, images in which the tone changesgradually can be expressed.

[0003] In these types of image display apparatuses, the methods by whichto determine the dot on-off state for each pixel in order to form dotswith the appropriate density in accordance with the image tone valuesinclude the method termed the error diffusion method and the methodtermed the average error minimum method, which is mathematicallyequivalent to the error diffusion method.

[0004] In the error diffusion method, the binarization error occurringdue to the formation or non-formation of a dot in a target pixel isdiffused among the state-undetermined pixels in the vicinity of thetarget pixel and stored, and during determination of the dot on-offstate for these state-undetermined pixels. the dot on-off state isdetermined such that the errors diffused from the nearby pixels areeliminated. In the average error minimum method, the binarization erroroccurring during dot on-off state determination is stored in connectionwith the target pixel without diffusing it among nearby pixels, andinstead, during dot on-off state determination for thestate-undetermined pixels, the errors stored in regard to the nearbypixels are read out and the dot on-off state is determined for thetarget pixel so as to eliminate these errors.

[0005] In both of these methods, because the image comprises a largenumber of pixels, it is impossible to conduct the dot on-off statedetermination simultaneously for all pixels. At the same time, becausethe image data is generated through scanning of the original image, theimage data is supplied in the order of the pixel rows (‘rasters’)obtained from scanning. For these reasons, the dot on-off statedetermination is conducted in the order of the rasters included in theimage. Namely, the dot on-off state determination is conducted insequence beginning at one end of each raster, and when the determinationfor all pixels in the raster is completed, processing for the nextadjacent raster is begun. In these methods, because a pixel belonging toa different raster is not processed consecutively even where it isadjacent to the processed pixel in the image, binarization errorsarising from dot on-off state determination are stored in an errorbuffer, and are subsequently read out and used where necessary.Consequently, by conducting the dot on-off state determination so as toeliminate errors while taking into account the binarization errorsarising in nearby pixels, dots can be formed at an appropriate densityin accordance with the image tone values, thereby enabling ahigh-quality image to be displayed on the image display apparatus.

[0006] However, in these methods, the problem exists that binarizationerrors arising each time a dot on-off state determination is conductedmust be written to the buffer frequently, which means that the doton-off state determination cannot be carried out quickly. Namely, in theerror diffusion method, an error to be diffused among nearby pixels mustbe written to the error buffer each time dot on-off state determinationis conducted, and in the average error minimum method, binarizationerrors that occur in nearby pixels must be read out from the errorbuffer each time dot on-off determination is carried out. In eithercase, dot on-off state determination is time-consuming to the extentthat reading and writing to and from the buffer must be carried outfrequently. Where dot on-off state determination takes a long time, itbecomes difficult to display image rapidly.

[0007] This invention was created in order to resolve the problem withthe conventional art described above, and an object thereof is toprovide a technology that allows a high-quality image to be displayedrapidly by reducing the amount of time required for dot on-off statedetermination without causing a deterioration in image quality.

DISCLOSURE OF THE INVENTION

[0008] At least part of the above and other related objects is attainedby the first image processing apparatus that converts image data into aspecific expression format based on the dot on-off state by receivingimage data representing tone values for each pixel and determining thedot on-off state for each pixel along a raster which is a row of suchpixels, said image processing apparatus comprising:

[0009] a raster grouping module that generates a raster group bygrouping multiple adjacent rasters;

[0010] a last raster conversion module that selects the last raster atthe end of said raster group, and by conducting dot on-off statedetermination for each pixel included in this last raster, converts thelast raster into a dot row that indicates the dot on-off state;

[0011] a first error diffusion module that calculates the binarizationerror arising in each pixel included in the last raster due to said doton-off state determination and diffuses the error among multiplestate-undetermined pixels in the vicinity of each such pixel;

[0012] a first raster conversion module that selects the first rasterlocated in the top position among the rasters in the raster groupadjacent to the last raster and, by determining the dot on-off state foreach pixel included in the first raster while taking into account thebinarization errors diffused from the last raster among the pixels inthis first raster, converts the first raster into a dot row thatindicates the dot on-off state;

[0013] a second error diffusion module that diffuses the binarizationerror occurring in each pixel included in the first raster among thestate-undetermined pixels in the vicinity of each such pixel; and

[0014] a remaining raster conversion module that converts the remainingraster other than the first raster of the raster group into a dot row inparallel with the conversion of the first raster into a dot row bydetermining the dot on-off state for each pixel in the remaining rasterwhile taking into account the binarization errors that were diffusedfrom the pixels that belong- to the same raster group as the remainingraster and previously underwent dot on-off state determination,

[0015] and wherein said first error diffusion module and said seconderror diffusion module are modules that store in a first error storageunit the errors that are diffused into pixels belonging to a rastergroup different from that containing the pixels as to which said doton-off state determination has been conducted, and store in a seconderror storage unit the errors that are diffused into pixels belonging tothe same raster group as the pixels as to which said dot on-off statedetermination has been conducted.

[0016] There is an image processing method corresponding to the abovefirst image processing apparatus. The present invention is accordinglydirected to the first image processing method for converting image datainto a specific expression format based on the dot on-off state byreceiving image data representing tone values for each pixel anddetermining the dot on-off state for each pixel along a raster which isa row of such pixels, said image processing method comprising the stepsof:

[0017] (A) generating a raster group by grouping multiple adjacentrasters;

[0018] (B) selecting the last raster at the end of the said raster groupand determining the dot on-off state for each pixel included in thislast raster, thereby converting the last raster into a dot row thatindicates the dot on-off state;

[0019] (C) calculating the binarization error arising in each pixel dueto this dot on-off state determination and diffusing it among multiplestate-undetermined pixels in the vicinity of each such pixel;

[0020] (D) selecting the first raster located in the top position amongthe rasters in the raster group adjacent to the last raster, andconverting the first raster into a dot row that indicates the dot on-offstate by determining the dot on-off state for each pixel included in thefirst raster while taking into consideration the binarization errorsdiffused from the last raster among the pixels of said first raster;

[0021] (E) diffusing the binarization error occurring in each pixelincluded in the first raster among the state-undetermined pixels in thevicinity of each such pixel; and

[0022] (F) converting the remaining raster other than the first rasterof the raster group into a dot row in parallel with the conversion ofthe first raster into a dot row, by determining the dot on-off state foreach pixel in the remaining raster while taking into account thebinarization errors that were diffused from the pixels that belong tothe same raster group as the remaining raster and previously underwentdot on-off state determination,

[0023] wherein the steps (C) and (E) are steps whereby the errors thatare diffused into pixels belonging to the same raster group as thepixels as to which said dot on-off state determination has beenconducted are stored separately from the errors that are diffused intopixels belonging to a different group.

[0024] In this first image processing apparatus and image processingmethod, a raster group is defined as a predetermined number of adjacentrasters, and each raster that constitutes a raster group is convertedinto a dot row through dot on-off state determination for each pixel inthat raster. Here, when errors arising through dot on-off statedetermination are diffused among adjacent state-undetermined pixels, theerrors that are diffused among pixels belonging to the same raster groupas the state-determined pixels in which a binarization error occurredare stored separately from the errors that are diffused among pixelsbelonging to a raster group different from the raster group containingthese state-determined pixels. The first raster is converted into a dotrow through dot on-off state determination carried out whilebinarization errors diffused from the adjacent raster group and storedare read out. On the other hand, said remaining raster is converted intoa dot row in parallel with the conversion of the first raster into a dotrow, by determining the dot on-off state for each pixel in the remainingrasters while taking into account the binarization errors that werediffused from the pixels that belong to the same raster group as theremaining raster and previously underwent dot on-off statedetermination.

[0025] If the process of converting the remaining raster into a dot rowis performed in parallel with the process of converting the first rasterinto a dot row, the image data in the raster group can be convertedrapidly. Furthermore, because the image data is converted in units of araster group, errors diffused among pixels belonging to the same rastergroup are read out earlier than errors diffused among pixels belongingto a different raster group. Therefore, if errors diffused among pixelsbelonging to the same raster group are stored separately from errorsdiffused among pixels belonging to a different raster group, errors canbe read out more rapidly, which enables the process of image dataconversion in units of a raster group to be carried out more rapidly.

[0026] In the image processing apparatus described above, it isacceptable if errors diffused among pixels belonging to the same rastergroup are stored such that at least either storage or read-out thereofcan be performed more quickly than it can for errors diffused amongpixels belonging to a different raster group.

[0027] Where the image data is converted in units of a raster group,binarization errors occurring due to dot on-off state determination arediffused among pixels belonging to the same raster group more often thanthey are among pixels belonging to a different raster group.Consequently, it is preferred that errors diffused among pixelsbelonging to the same raster group be stored such that at least eitherstorage or read-out thereof can be performed more quickly than it canfor errors diffused among pixels belonging to a different raster group,as this enables error diffusion processing to take place more quickly asa practical matter.

[0028] In this image processing apparatus, it is acceptable if theerrors that are diffused among pixels belonging to a different rastergroup and can be simultaneously stored represent a number of pixels thatis at least equal to the number of pixels included in the first raster,and if the errors that are diffused among pixels belonging to the sameraster group that can be simultaneously stored represent a number ofpixels that is smaller than the number of pixels included in the firstraster.

[0029] Where image data is converted in units of a raster group, becauseerrors diffused among pixels belonging to the same raster group as thefirst raster are used during conversion of the image data for thatraster group and there is no need for them to be stored thereafter, thestorage unit in which the errors from the first raster were stored canstore errors to be diffused among other pixels belonging to the sameraster group. Therefore, it is preferred that the errors that arediffused among pixels belonging to the same raster group and can bestored represent a number of pixels that is smaller than the number ofpixels included in the first raster, as this enables the storage unit tobe effectively used.

[0030] In an image processing apparatus that performs the image dataconversion described above using a computer, it is acceptable if errorsdiffused among pixels belonging to the same raster group are stored in astorage element to and from which the computer's processing unit candirectly read or write data, and errors diffused among pixels belongingto a different raster group are stored in a storage element to and fromwhich the computer's processing unit reads or writes data indirectly.

[0031] A storage element to and from which the computer's processingunit can directly read or write data can allows high-speed reading andwriting, and therefore, storage in such a storage element is preferredbecause it enables errors diffused among pixels belonging to the sameraster group to be stored or read quickly. Moreover, this storageelement is not limited to an element that allows only either direct datareading or writing by the processing unit; needless to say, it is alsoacceptable if it is an element that allows both data reading and writingto be performed by the processing unit directly.

[0032] In this image processing apparatus, when binarization errorsoccurring in each pixel in the last raster are diffused amongstate-undetermined pixels belonging to a different raster group thatsurround the pixels as to which the dot on-off state has beendetermined, it is acceptable if they are diffused only into pixelsbelonging to the first raster adjacent to the last raster.

[0033] In such a case, the binarization errors from the pixels in thedifferent raster group are diffused only among pixels in the firstraster, and are not diffused among the pixels in the remaining rasters.As a result, the errors stored in the first error storage unit are readout and the dot on-off state is determined only when the dot on-offstate for each pixel in the first raster is determined, and the errorsstored in the second error storage unit are read out and the dot on-offstate is determined only when the dot on-off state for each pixel in theremaining rasters is determined. This is preferred because it simplifiesthe processing routine as a whole and enables dot on-off statedetermination to be performed quickly.

[0034] Furthermore, in this image processing apparatus, it is acceptableif the image data is converted into the dot rows in unit of two rasters,and if the first raster located at the front of these two rasters andthe last raster located at the end of these two rasters are convertedinto dot rows as described below. Binarization errors occurring due todot on-off state determination for each pixel in the last raster arediffused among pixels in the last raster and among pixels in the firstraster of the raster group adjacent to such last raster. Binarizationerrors occurring due to dot on-off state determination for each pixel inthe first raster are diffused among pixels in the first raster and amongpixels in the last raster following such first raster. And dot on-offstate determination is conducted for each pixel in the last raster ofeach raster group while taking into consideration the binarizationerrors diffused.

[0035] It is preferred that conversion into dot rows be performed tworasters at a time as described above because it enables multiple rastersto be converted into dot rows in parallel through simple processing.

[0036] In this image processing apparatus, when binarization errorsoccurring due to dot on-off state determination are diffused amongstate-undetermined pixels located a predetermined number of pixelsdistant from the pixels in which the binarization errors occurred, it isacceptable if such errors are diffused only among pixels of a rastergroup different from the raster group that has undergone dot on-offstate determination.

[0037] Where binarization errors occurring due to dot on-off statedetermination are diffused among distant state-undetermined pixels,there is no significant image quality deterioration even if the errorsare diffused into pixels that are slightly off from the true positions.Consequently, where such binarization errors are diffused among distantstate-undetermined pixels, it is preferred that the diffusion beconcentrated among pixels belonging to a raster group different from theraster group for which the dot on-off state has been determined, becauseit enables error diffusion processing to be performed in a simplemanner.

[0038] At least part of the above and other related objects is attainedby the second image processing apparatus that converts image data into aspecific expression format based on the dot on-off state, by receivingimage data representing tone values for each pixel and determining thedot on-off state for each pixel along a raster which is a row of suchpixels, said image processing apparatus comprising:

[0039] a raster grouping module generates a raster group by groupingmultiple adjacent rasters;

[0040] a selected raster conversion module selects at least a lastraster located at the end of said raster group, and by conducting doton-off state determination for each pixel included in the selectedraster, converts the selected raster into a dot row indicating the doton-off state;

[0041] a first binarization error storage module calculates thebinarization error arising in each pixel included in the selected rasterdue to each dot on-off state determination and stores it in a firststorage unit while associating it with each state-determined pixel;

[0042] a first raster conversion module selects the first raster locatedin the top position among the rasters in the raster group adjacent tothe last raster, and by determining the dot on-off state for each suchpixel included in the first raster while taking into consideration thebinarization errors stored in association with the dot state-determinedpixels in the vicinity of each pixel included in the first raster,converts the first raster into a dot row;

[0043] a second binarization error storage module stores thebinarization error occurring in each pixel of the first raster in asecond storage unit while associating it with each dot state-determinedpixel; and

[0044] a remaining raster conversion module converts the remainingraster other than the first raster of the raster group into a dot row inparallel with the conversion of the first raster into a dot row, bydetermining the dot on-off state for each pixel in the remaining rasterwhile taking into account the binarization errors that occurred in thepixels that belong to the same raster group as the remaining raster andpreviously underwent dot on-off state determination.

[0045] There is an image processing method corresponding to the abovesecond image processing apparatus. The present invention is accordinglydirected to the second image processing method for converting image datainto a specific expression format based on the dot on-off state, byreceiving image data representing tone values for each pixel anddetermining the dot on-off state for each pixel along a raster which isa row of such pixels, said image processing method comprising the stepsof:

[0046] (A) generating a raster group by grouping multiple adjacentrasters;

[0047] (B) selecting at least a last raster located at the end of saidraster group and conducting dot on-off state determination for eachpixel included in the selected raster, thereby converting the selectedraster into a dot row indicating the dot on-off state;

[0048] (C) calculating the binarization error arising in each pixelincluded in the selected raster due to this dot on-off statedetermination and storing it in a first storage unit while associatingit with each state-determined pixel;

[0049] (D) selecting the first raster located in the top position amongthe rasters in the raster group adjacent to the last raster andconverting the first raster into a dot row by determining the dot on-offstate for each such pixel while taking into consideration thebinarization errors stored in connection with the dot state-determinedpixels in the vicinity of each pixel comprising the first raster;

[0050] (E) storing the binarization error occurring in each pixel of thefirst raster in a second storage unit separately from the binarizationerror stored in the step (C) while associating it with eachstate-determined pixel; and

[0051] (F) converting the remaining raster other than the first rasterof the raster group into a dot row in parallel with the conversion ofthe first raster into a dot row, by determining the dot on-off state foreach pixel in the remaining raster while taking into account thebinarization errors that occurred in the pixels that belong to the sameraster group as the remaining raster and previously underwent dot on-offstate determination.

[0052] In this second image processing apparatus and second imageprocessing method, as in the first image processing apparatus and firstimage processing method, each raster is converted into a dot row inunits of a raster group comprising a predetermined number of adjacentrasters by conducting dot on-off state determination for each rasterincluded in a raster group. When this is done in connection with thesecond image processing apparatus and second image processing method,the binarization errors occurring in each pixel of the last raster arestored while being associated with each state-determined pixel, and whendot on-off state determination is carried out for the pixels in thefirst raster, the binarization errors stored in connection with the lastraster pixels in the vicinity of such pixels are read out and their doton-off state is determined. The binarization errors occurring in eachfirst raster pixel in this way are stored separately from binarizationerrors occurring in each last raster pixel. The remaining rasters areconverted into dot rows in parallel with the conversion of the firstraster into a dot row, by determining the dot on-off state for eachpixel in the remaining rasters while taking into account thebinarization errors that occurred in the pixels that belong to the sameraster group as the remaining rasters and previously underwent doton-off state determination.

[0053] If image data is converted into dot rows in units of a rastergroup and with the first raster and the remaining rasters in parallel asdescribed above, rapid image data conversion is made possible.Furthermore, because image data is converted in units of a raster group,binarization errors occurring in the last raster of the raster groupundergoing processing are read out after processing of the currentraster group is completed, unlike binarization errors occurring in otherrasters of the same group. Therefore, if binarization errors occurringin the last raster of a raster group are stored separately frombinarization errors occurring in other rasters in that group, they canbe read out quickly, thereby enabling image data conversion to becarried out quickly as well.

[0054] In the image processing apparatus described above, it isacceptable if binarization errors occurring in rasters other than thelast raster are stored such that either storage or read-out thereof canbe performed more quickly than for binarization errors occurring in thelast raster.

[0055] Where image data is converted in units of a raster group, becausea raster group has only one last raster but one or more non-lastrasters, when dot on-off state determination is performed, binarizationerrors occurring in non-last rasters are read out more frequently thanbinarization errors occurring in the last raster. Therefore, it ispreferred that binarization errors occurring in rasters other than thelast raster be stored such that either storage or read-out thereof canbe performed more quickly than it can for binarization errors occurringin the last raster, as this enables conversion of the image data inunits of a raster group to be conducted more quickly as a practicalmatter.

[0056] In this image processing apparatus, it is acceptable ifbinarization errors that occur in the pixels of the last raster and canbe simultaneously stored represent a number of pixels that is at leastequal to the number of pixels included in the last raster, and ifbinarization errors that occur in the pixels belonging to the firstraster and that can be simultaneously stored represent a number ofpixels that is smaller than the number of pixels included in the firstraster.

[0057] Where image data is converted in units of a raster group, becauseerrors diffused among pixels belonging to the same raster group are usedduring conversion of the image data for that raster group and there isno need for them to be stored thereafter, the storage unit in which theerrors were stored can store errors to be diffused among other pixelsbelonging to the same raster group. Therefore, it is preferred that theerrors that are diffused among pixels belonging to the same raster groupand can be stored represent a number of pixels that is smaller than thenumber of pixels comprising the first raster, as this enables thestorage unit to be effectively used.

[0058] In an image processing apparatus that performs the image dataconversion described above using a computer, it is acceptable if errorsthat occurred in each pixel of the first raster are stored in a storageelement to and from which the computer's processing unit can directlyread or write data, and if errors that occurred in each pixel of thelast raster are stored in a storage element to and from which thecomputer's processing unit reads or writes data indirectly.

[0059] A storage element to and from which the computer's processingunit can directly read or write data allows quick reading and writing,and therefore, storage in such a storage element of the binarizationerrors that occurred in the pixels of the first raster is preferredbecause it enables the image for the raster group to be convertedquickly. Needless to say, it is acceptable if this storage element is anelement that allows both direct data reading and writing by theprocessing unit.

[0060] In this second image processing apparatus, it is acceptable ifonly the binarization errors that occurred in each pixel of the lastraster of a raster group are stored in connection with each such pixeland the first raster is converted into a dot row while taking intoaccount the binarization errors for each pixel of the last raster.

[0061] In such a case, because binarization errors occurring in lastraster pixels belonging to a different raster group are read out onlywhen dot on-off state determination is performed for each pixel in thefirst raster, and because binarization errors occurring in pixelsbelonging to a different raster group need not be read out when doton-off state determination is performed for each pixel in the remainingrasters, the image data in the raster group can be converted quickly.

[0062] Furthermore, in this image processing apparatus, it is acceptableif the image data is converted into the dot rows in unit of two rasters,and if the first raster located at the front of these two rasters andthe last raster located at the end of these two rasters are convertedinto dot rows as described below. Only binarization errors occurring inthe last raster are stored in the first storage unit, and when doton-off state determination is conducted for the pixels included in thefirst raster of the next raster group, the binarization errors stored inconnection with each pixel of the last raster are read out to be usedfor dot on-off state determination, while binarization errors occurringin each pixel of the first raster are stored in the second storage unit.The last raster following the first raster is converted into a dot rowin parallel with the conversion of the first raster into a dot row,taking into consideration the binarization errors occurring in eachpixel in the first raster.

[0063] It is preferred that conversion into dot rows be conducted inunit of two rasters, as described above, as it enables parallelconversion of multiple rasters into dot rows to be carried out throughsimple processing.

[0064] In the first and second image processing apparatuses describedabove, it is acceptable if, in order to convert the remaining rasterinto a dot row while taking into account binarization errors occurringin each pixel in the first raster, the remaining raster is convertedinto a dot row by conducting dot on-off state determination while takinginto consideration errors that have been diffused among the pixels ofthe remaining raster from the first raster, or if the remaining rasteris converted into a dot row by conducting dot on-off state determinationwhile taking into consideration binarization errors occurring in eachpixel of the first raster.

[0065] It is advantageous for either of these methods to be employed, asthey both enable a remaining raster to be converted into a dot row whiletaking into account binarization errors occurring in the pixels of thefirst raster.

[0066] The first or second image processing apparatus described abovepertaining to the present invention can be advantageously employed in aprinting control apparatus that controls a printing unit that printsimages through the formation of ink dots on a printing medium byoutputting print data that controls such ink dot formation.

[0067] The first or second image processing apparatus described abovecan receive image data indicating the tone values for each pixel andquickly convert this image data into image data reflecting dot on-offstate determination results. Consequently, if the first or second imageprocessing apparatus is applied in the printing control apparatusdescribed above, image data can be quickly converted into print data. Itis advantageous for the print data obtained in this manner to be outputto the printing unit, as it enables the printing unit to printhigh-quality images at high speed.

[0068] The present invention can be implemented in the form of a programto execute the first or second image processing method described abovethat is read into a computer and executed thereby. Therefore, thepresent invention also includes an aspect as the recording mediumdescribed below. Namely, the recording medium corresponding to the firstimage processing method described above is a recording medium on whichis recorded a computer-readable program that implements a method toconvert image data into a specific expression format based on the doton-off state by receiving image data indicating tone values for eachpixel and determining the dot on-off state for each pixel along a rasterwhich is a row of such pixels, said program causing a computer attainthe functions of:

[0069] (A) generating a raster group by grouping multiple adjacentrasters;

[0070] (B) selecting the last raster at the end of the said raster groupand determining the dot on-off state for each pixel included in thislast raster, thereby converting the last raster into a dot row thatindicates the dot on-off state;

[0071] (C) calculating the binarization error arising in each pixel dueto this dot on-off state determination and diffusing it among multiplestate-undetermined pixels in the vicinity of each such pixel;

[0072] (D) selecting the first raster located in the top position amongthe rasters in the raster group adjacent to the last raster, andconverting the first raster into a dot row that indicates the dot on-offstate by determining the dot on-off state for each pixel included in thefirst raster while taking into consideration the binarization errorsdiffused from the last raster among the pixels of said first raster;

[0073] (E) diffusing the binarization error occurring in each pixelincluded in the first raster among the state-undetermined pixels in thevicinity of each such pixel; and

[0074] (F) converting the remaining raster other than the first rasterof the raster group into a dot row in parallel with the conversion ofthe first raster into a dot row, by determining the dot on-off state foreach pixel in the remaining raster while taking into account thebinarization errors that were diffused from the pixels that belong tothe same raster group as the remaining raster and previously underwentdot on-off state determination,

[0075] wherein the steps (C) and (E) are steps whereby the errors thatare diffused into pixels belonging to the same raster group as thepixels as to which said dot on-off state determination has beenconducted are stored separately from the errors that are diffused intopixels belonging to a different group.

[0076] The recording medium corresponding to the second image processingmethod described above is a recording medium on which is recorded acomputer-readable program that implements a method to convert image datainto a specific expression format based on the dot on-off state byreceiving image data representing tone values for each pixel anddetermining the dot on-off state for each pixel along a rastercomprising a row of such pixels, said program causing a computer attainthe functions of:

[0077] (A) generating a raster group by grouping multiple adjacentrasters;

[0078] (B) selecting at least a last raster located at the end of saidraster group and conducting dot on-off state determination for eachpixel included in the selected raster, thereby converting the selectedraster into a dot row indicating the dot on-off state;

[0079] (C) calculating the binarization error arising in each pixelincluded in the selected raster due to this dot on-off statedetermination and storing it in a first storage unit while associatingit with each state-determined pixel;

[0080] (D) selecting the first raster located in the top position amongthe rasters in the raster group adjacent to the last raster andconverting the first raster into a dot row by determining the dot on-offstate for each such pixel while taking into consideration thebinarization errors stored in connection with the dot state-determinedpixels in the vicinity of each pixel comprising the first raster;

[0081] (E) storing the binarization error occurring in each pixel of thefirst raster in a second storage unit separately from the binarizationerror stored in the step (C) while associating it with eachstate-determined pixel; and

[0082] (F) converting the remaining raster other than the first rasterof the raster group into a dot row in parallel with the conversion ofthe first raster into a dot row, by determining the dot on-off state foreach pixel in the remaining raster while taking into account thebinarization errors that occurred in the pixels that belong to the sameraster group as the remaining raster and previously underwent dot on-offstate determination.

[0083] If the programs recorded on these recording media are caused tobe read by a computer and the various functions described above areimplemented using such computer, the image data indicating the tonevalues for each pixel can be quickly converted into a specificexpression format based on the dot on-off state.

BRIEF DESCRIPTION OF THE DRAWINGS

[0084]FIG. 1 is a summary construction diagram of the printing system ofthis embodiment;

[0085]FIG. 2 is an explanatory drawing showing the construction of acomputer comprising the image display apparatus of this embodiment;

[0086]FIG. 3 is a summary construction drawing of a printer comprisingthe image processing apparatus of this embodiment;

[0087]FIG. 4 is a flow chart showing the sequence of the image dataconversion routine executed by the image processing apparatus of thisembodiment;

[0088]FIG. 5 is an explanatory drawing showing a conceptual view of thesituation in which dot on-off state determination is conducted using theerror diffusion method;

[0089]FIG. 6 is an explanatory drawing showing the situation in which anerror diffusion coefficient is assigned to each pixel;

[0090]FIG. 7 is an explanatory drawing showing the principle ofshortening processing time by performing parallel processing of multiplerasters in the tone number conversion routine of a first embodiment;

[0091]FIG. 8 is a flow chart showing the sequence of the tone numberconversion routine of the first embodiment;

[0092]FIG. 9 is an explanatory drawing showing a conceptual view of thesituation in which multiple rasters are processed in a parallel mannerin a first modification of the tone number conversion process of thefirst embodiment;

[0093]FIG. 10 is an explanatory drawing showing a conceptual view of thesituation in which multiple rasters are processed in a parallel mannerin a second modification of the tone number conversion process of thefirst embodiment;

[0094]FIG. 11 is an explanatory drawing showing a conceptual view of thesituation in which multiple rasters are processed in a parallel mannerin a third modification of the tone number conversion process of thefirst embodiment;

[0095]FIG. 12 is an explanatory drawing showing a conceptual view of theerror diffusion matrix that diffuses errors to be diffused among distantpixels among pixels regarding which error buffers are allocated in afourth modification of the tone number conversion process of the firstembodiment;

[0096]FIG. 13 is an explanatory drawing showing the principle ofshortening processing time by performing parallel processing of multiplerasters in the tone number conversion routine of a second embodiment;

[0097]FIG. 14 is an explanatory drawing showing the situation in which aweighting coefficient is assigned to each pixel in the tone numberconversion routine of a modification of the second embodiment;

[0098]FIG. 15 is a flow chart showing the sequence of the tone numberconversion routine of the second embodiment; and

[0099]FIG. 16 is an explanatory drawing showing a conceptual view of thesituation in which multiple rasters are processed in a parallel mannerin a first modification of the tone number conversion process of thesecond embodiment.

BEST MODES OF CARRYING OUT THE INVENTION

[0100] In order to provide a clearer description of the operation andeffect of the present invention, the embodiments of the presentinvention are described below based on the following sequence:

[0101] A. Mode of Carrying Out Invention

[0102] B. First embodiment:

[0103] B-1. Apparatus construction:

[0104] B-2. Summary description of image data conversion routine:

[0105] B-3. Tone number conversion routine of the first embodiment:

[0106] B-4. Modifications:

[0107] C. Second embodiment:

[0108] C-1. Tone number conversion routine of the second embodiment:

[0109] C-2. Modifications:

A. MODE OF CARRYING OUT INVENTION

[0110] An embodiment of the present invention will be explained withreference to FIG. 1. FIG. 1 is an explanatory drawing to describe anembodiment of the present invention using an example of a printingsystem. This printing system comprises a computer 10 that serves as animage processing apparatus and a color printer 20 or the like. When thecomputer 10 receives tone image data for a color image from imagingequipment such as a digital camera or a color scanner, it converts theimage data into print data expressed based on the dot on-off state foreach color that can be printed by the color printer 20. This conversionof image data is carried out using a dedicated program termed theprinter driver 12. Tone image data for a color image can also be createdby the computer 10 using various types of application programs.

[0111] The printer driver 12 comprises multiple modules, i.e., aresolution conversion module, a color conversion module, a tone numberconversion module, and an interlace module. The tone number conversionmodule is a module that executes a routine to convert tone image datainto a specific format based on the dot on-off state. When the doton-off state of a target pixel is determined, the tone number conversionmodule of this embodiment conducts dot on-off state determination of thetarget pixel such that binarization errors occurring regarding nearbypixels are taken into consideration and are eliminated. The routinesexecuted by the other modules will be described below. The color printer20 prints color images by forming ink dots of all colors on a printingmedium based on the print data converted by the various modules.

[0112] The image data supplied to the printer driver 12 has a dataconstruction wherein the tone values of each pixel comprising theoriginal image are output in sequence one raster at a time beginningwith the edge of the image, as shown in a conceptual manner in FIG. 1.Based on the data construction of the supplied data, the resolutionconversion module and the color conversion module of the printer driver12 perform processing one raster at a time, but the tone numberconversion module in the printing system of the present inventioncarries out processing of a predetermined number of adjacent rasters ina parallel manner according to methods described below. FIG. 1 shows aconceptual view of the situation in which three rasters are processed inparallel as an example. While the process will be described in moredetail below, when multiple rasters are processed in parallel in thismanner, because dot on-off state determination can be conducted whiletaking into account binarization errors occurring in adjacent rastersamong such multiple rasters processed in a parallel manner, there is noneed to store binarization errors or diffusion errors in an error bufferone by one. Namely, using the tone number conversion module of theseembodiments, because it is not necessary to frequently read from orwrite to the error buffer, dot on-off state determination can be carriedout quickly to that extent.

[0113] There are various specific methods by which to conduct dot on-offstate determination while taking into account binarization errorsoccurring among multiple rasters, and these methods will be describedbelow in connection with the various embodiments.

B. FIRST EMBODIMENT B-1. Apparatus Construction

[0114]FIG. 2 is an explanatory drawing showing the construction of aprinter 100 comprising the image processing apparatus of the firstembodiment. The computer 100 is a conventional computer centered arounda CPU 102, wherein a ROM 104 and a RAM 106 are interconnected via a bus116. The CPU 102 comprises a processing unit that performs actualprocessing and multiple registers in which data is temporarily storedduring processing. The data stored in the registers can be processedmuch more quickly than the data stored in the RAM 106.

[0115] A disk controller DDC 109 used to read data from a floppy disk124 or a compact disk 126, a peripheral equipment interface P-I/F 108used to send and receive data to and from peripheral equipment, a videointerface V-I/F 112 used to drive a CRT 114 and the like are connectedto the computer 100. A color printer 200 described below, a hard disk118 and the like are connected to the P-I/F 108. Furthermore, if adigital camera 120 or a color scanner 122 or the like is connected tothe P-I/F 108, images incorporated via the digital camera 120 or colorscanner 122 may be printed. In addition, if a network interface card NIC110 is mounted, the computer 100 can be connected to a transmission line300, and data stored in a storage apparatus 310 connected to thistransmission line can be obtained.

[0116]FIG. 3 is an explanatory drawing showing a summary construction ofthe color printer 200 of the first embodiment. The color printer 200 isan inkjet printer that can form dots from ink in the four colors ofcyan, magenta, yellow and black. Naturally, an inkjet printer than canform dots using a total of six colors of ink by including in addition tothese four colors cyan having a lower concentration of cyan pigment(light cyan) and magenta having a lower concentration of magenta pigment(light magenta) can also be used. Furthermore, it is also acceptable touse an inkjet printer than can form dots using a total of seven colorsof ink by including in addition to these six colors (dark) yellow inkhaving a lower brightness (dark yellow). Moreover, in the discussionbelow, cyan ink, magenta ink, yellow ink, black ink, light cyan ink,light magenta ink and dark yellow ink may be abbreviated as C ink, Mink, Y ink, K ink, LC ink, LM ink and DY ink, respectively.

[0117] As shown in the drawing, the color printer 200 comprises amechanism that drives a print head 241 mounted on a carriage 240, ejectsink and forms dots, a mechanism that causes the carriage 240 to moveforward and backward along the axis of the platen 236 via a carriagemotor 230, a mechanism that conveys the printing paper P via a paperfeed motor 235, and a control circuit 260 that control dot formation,the movement of the carriage 240 and the conveyance of the printingpaper P.

[0118] An ink cartridge 242 that contains K ink and an ink cartridge 243that contains C ink, M ink and Y ink are mounted to the carriage 240.When the ink cartridges 242 and 243 are mounted to the carriage 240, theinks in each cartridge are supplied via a guide tube not shown in thedrawing to the color-specific ink ejection heads 244 through 247 locatedon the bottom of the print head 241. As shown in the drawing, multiplenozzles Nz are aligned in a zigzag arrangement on the K ink ejectionhead 244 according to a fixed nozzle pitch (k). The other color-specificink ejection heads 245 through 247 similarly have a set of nozzle rowscomprising nozzles aligned in a zigzag arrangement according to a nozzlepitch (k).

[0119] The control circuit 260 comprises a CPU 261, a ROM 262, a RAM 263and the like, and controls main scanning and sub-scanning of thecarriage 240 by controlling the operation of the carriage motor 230 andthe paper feed motor 235, as well as ejects ink droplets from eachnozzle in accordance with the proper timing based on print data suppliedfrom the computer 100. In this way, the color printer 200 can printcolor images through the formation of ink dots of various colors atappropriate positions on the printing medium under the control of thecontrol circuit 261.

[0120] For the method by which to eject ink droplets from thecolor-specific ink ejection heads, various methods may be applied. Theseinclude the method of ejecting ink using a piezoelectric element and themethod of ejecting ink droplets by causing bubbles to form inside theink channel using a heater located in the ink channel. Alternatively,instead of ejecting ink, a printer may be used that employs a method inwhich ink dots are formed on the printing medium using a phenomenon suchas heat transfer, or a method in which toner particles of various colorsare caused to adhere to the printing medium using electrostatic force.

[0121] Moreover, it is also possible to use a so-called variable dotprinter that can control the size of the ink dots formed on the Aprinting medium using a method that controls the size of the inkdroplets ejected from the ink ejection head or a method that ejectsmultiple very small ink droplets at one time and controls the number ofink droplets ejected.

B-2. Summary Description of Image Data Conversion Routine

[0122]FIG. 4 is a flow chart showing the sequence of the routine wherebythe computer 100, which serves as the image processing apparatus in thefirst embodiment, converts the image data into print data by subjectingthe received image data to prescribed image processing. This routine isbegun when the operating system of the computer 100 runs the printerdriver 12. A simplified explanation of the image data conversion routineof the first embodiment is provided below with reference to FIG. 4.

[0123] When the image data conversion routine is begun, the printerdriver 12 first commences the reading of the RGB color image data to beconverted (step S100). The image data is read by the printer driver 12one raster at a time for each of the colors R, G and B.

[0124] The resolution of the read-in image data is then converted into aresolution to be used for printing by the color printer 200 (step S102).Where the resolution of the color image data is lower than the printresolution, new data is generated between pixels of the read-in imagedata by linear interpolation, while where it is higher than the printresolution, the image data is converted into a print resolution throughthinning out according to a predetermined ratio.

[0125] After the resolution is converted in this manner, the color imagedata undergoes color conversion processing (step S104). The colorconversion routine is a process by which the color image data expressedas a combination of R, G and B tone values is converted into image dataexpressed as a combination of tone values for each color used by thecolor printer 200, such as C, M, Y and K. The color conversion routinecan be performed quickly by referring to a three-dimensional tablecalled a color conversion table (LUT). The resolution conversion routine(step S102) and color conversion routine (step S104) described above arecarried out one raster at a time.

[0126] When the color conversion routine is completed, the tone numberconversion routine is then begun (step S106). The tone number conversionroutine is a process described below. The tone data converted in thecolor conversion routine is expressed as data having a range of 256tones for each color. In contrast, in the color printer 200 of thisembodiment, only one of the operations ‘form dot’ or ‘do not form dot’can be chosen. Namely, the color printer 200 of this embodiment canexpress only two tones when the image is seen locally. Accordingly, theimage data having 256 tones must be converted into image data expressedin the two tones that can be expressed by the color printer 200. Aprocess in which the number of tones is converted as described above isthe tone number conversion routine. As described above, in the tonenumber conversion routine of this embodiment, high-speed processing ismade possible by conducting the dot on-off state determination formultiple rasters in a parallel manner. The tone number conversionroutine will be explained in more detail below.

[0127] After the tone number conversion routine is completed asdescribed above, the printer driver begins the interlace routine (stepS108). The interlace routine is a process in which the image data thathas undergone conversion to a specific format based on the dot on-offstate is arranged in the order in which it is to be forwarded to thecolor printer 200 from the standpoint of the order of dot formation. Theprinter driver 12 outputs to the color printer 200 as print data theimage data ultimately obtained after performance of the interlaceroutine (step S110). The color printer 200 forms ink dots of each coloron the printing medium based on the print data. As a result, colorimages corresponding to the image data are formed on the printingmedium.

[0128] The process in which dot on-off state determination is quicklyperformed through parallel processing of multiple rasters in the tonenumber conversion routine of the first embodiment is explained below.

B-3. Tone Number Conversion Routine of the First Embodiment

[0129] (a) Summary Description of Tone Number Conversion Routine UsingError Diffusion Method:

[0130] As preparation for describing the method in which multiplerasters are subjected to dot on-off state determination in a parallelmanner and the principle by which the time required for carrying out thetone number conversion routine is shortened by carrying it out in aparallel manner, the method for conducting dot on-off statedetermination for each raster using the so-called error diffusion methodwill now be briefly described.

[0131]FIG. 5 is an explanatory drawing showing a conceptual enlargedview of part of the image for which dot on-off state determination is tobe conducted. Each small individual grid element represents a pixel, anda raster is formed by one horizontal row of these pixels. Forconvenience, the topmost raster in FIG. 5(a) will be termed ‘raster 0’,the next raster down will be termed ‘raster 1’, and subsequent rasterswill be termed ‘raster 2’, ‘raster 3’, and so on. In order todifferentiate individual pixels, each pixel will be given thedesignation ‘Pmn’, where Pmn represents the nth pixel of the raster (m).The image data that emerges from the color conversion routine shown inFIG. 4 is data regarding which a tone value for each color is associatedwith each pixel.

[0132] The error diffusion method determines the dot on-off state foreach pixel in a raster, as described below. FIG. 5(a) is an explanatorydrawing showing a conceptual view of the situation in which dot on-offstate determination is conducted for the pixel P11. In thisspecification, a pixel for which dot on-off state determination is to beconducted, such as the pixel P11 here, is referred to as a target pixel.In the drawing, a target pixel is a pixel indicated by a boldface linesurrounding it, such as the pixel P11. The area in the drawing shaded byhatched lines indicates pixels as to which dot on-off statedetermination has already been performed.

[0133] As shown in FIG. 5(a), when dot on-off state determination isconducted for the pixel P11, a binarization error E11 occurs in thepixel P11 as a result. Namely, regardless of whether or not a dot isformed in the pixel P11, the tone value expressed in the pixel P11 (thistone value will hereinafter be termed the result value) will normallynot match the tone value of the image data for that pixel. Therefore, abinarization error occurs in the target pixel to the extent of thedifference between the result value for the pixel P11 and the tone valueof the image data for the pixel P11. The error diffusion method diffusesthe binarization error occurring during dot on-off state determinationamong the state-undetermined pixels surrounding the target pixelaccording to a predetermined weighting system. The weighting coefficientused when error diffusion is carried out among the surroundingstate-undetermined pixels is called the error diffusion coefficient, andis preset for each pixel in the vicinity of the target pixel.

[0134]FIG. 6 is an explanatory drawing showing the assignment of errordiffusion coefficients. The pixel marked by hatched lines in FIG. 6 isthe target pixel, and the error diffusion coefficient for each pixel isassigned in relation to its position relative to the target pixel.Accordingly, the matrix in which the error diffusion coefficients forthe pixels surrounding the target pixel are set is termed the errordiffusion matrix. For example, in the error diffusion matrix shown inFIG. 6(a), ‘¼’ is assigned as the error diffusion coefficient K01 forthe pixel adjacent to the target pixel on the right in the drawing.Therefore, using the error diffusion matrix of FIG. 6(a), ¼ of thebinarization error occurring in the target pixel is allocated to thepixel to the right. Similarly, ¼ of the binarization error occurring inthe target pixel is allocated to the pixel just below the target pixel,the pixel below and to the left of the target pixel, and the pixel belowand to the right of the target pixel, respectively. The error diffusionmatrix is not limited to the matrix shown in FIG. 6; various sizes maybe established for the area within which the error is diffused andvarious values may be used for the error diffusion coefficients, and inthe actual error diffusion method, an appropriate error diffusion matrixis used that will enable good image quality to be obtained. In order toavoid making the description unduly complex, in the description below,the matrix that has the smallest area for error diffusion among theerror diffusion matrices shown as examples is used for the errordiffusion matrix, i.e., the description will use the error diffusionmatrix shown in FIG. 6(a).

[0135] If the matrix shown in FIG. 6(a) is used as the error diffusionmatrix, the binarization error E11 occurring in the target pixel P11 isdistributed among the four pixels of P12 located to the right, P20located below and to the left, P21 located directly below, and P22located below and to the right, and ¼ of the binarization error E11 isallocated to each. Among the four surrounding pixels, the pixels P20,P21 and P22 are pixels belonging to the raster 2, unlike the pixel P11.Because the error (diffused error) diffused among the pixels surroundingthe target pixel in this manner is used when dot on-off statedetermination is conducted for each of these pixels, it must be storedin such a way that the allocated error amounts for each pixel aredistinguished from each other. Consequently, diffused errors are storedin a high-capacity RAM 106 (see FIG. 2) that can store diffused errorsfor many pixels.

[0136] Once the binarization error for the pixel P11 has been diffusedamong the surrounding pixels, dot on-off state determination isconducted for the pixel P12 located to the right of the former targetpixel P11, as shown in FIG. 5(a). FIG. 5(b) is an explanatory drawingshowing a conceptual view of the situation in which dot on-off statedetermination is conducted for the pixel P12. When this dot on-off statedetermination is conducted, the sum of the diffused error portionsallocated to the target pixel P12 from the surrounding pixels andaccumulated therein is read out, and the image data for the target pixelP12 is corrected based on the read-out diffused error value. As shown inFIG. 5(b), the errors diffused from the pixels that surround the targetpixel based on the error diffusion matrix described above and thatpreviously underwent dot on-off state determination, i.e., the pixelsP01, P02, P03 and P11, are stored in connection with the target pixelP12. Dot on-off state determination is conducted by reading out the sumof the diffused error portions from the RAM 106, correcting the imagedata for the target pixel P12, and comparing the obtained correctedvalue with a predetermined threshold value. FIG. 5(c) shows thesituation after dot on-off state determination is conducted for the newtarget pixel P12. Because the binarization error E12 occurs in the newtarget pixel P12 as a result of dot on-off state determination therefor,this binarization error is diffused among the surrounding pixels inaccordance with the error diffusion matrix as described above inconnection with FIG. 5(a).

[0137] Once the binarization error occurring in the pixel P12 has beendiffused among the surrounding pixels, dot on-off state determination isconducted for the next pixel to the right, i.e., the pixel P13. Becausethe binarization error E13 occurs in the new target pixel P13, thiserror is diffused among the surrounding pixels in accordance with theerror diffusion matrix, and dot on-off state determination is carriedout once more for the pixel to the right. When the rightmost pixel isreached after the target pixel is moved to the right one pixel at a timewhile diffusing binarization errors among surrounding pixels asdescribed above, dot on-off state determination is begun for theleftmost pixel of the next raster down (in the example shown in FIG. 5,the pixel P20). As with the raster 1, once the rightmost pixel of theraster 2 of the image is reached, the process begins with the leftmostpixel of the raster 3 of the image once more.

[0138] According to the error diffusion method, dot on-off statedetermination is conducted in this way while moving the target pixelalong the raster one pixel at a time and taking into account errorsdiffused from surrounding pixels. Binarization errors occurring as aresult of these determinations are diffused among surroundingstate-undetermined pixels and stored, and are used when dot on-off statedetermination is conducted for these state-undetermined pixels.

[0139] Here, surrounding pixels include pixels in a raster that isdifferent from the raster to which the target pixel belongs, asdescribed above. Because dot on-off state determination is conductedalong a raster, the allocated diffused error portions must be maintainedand stored until processing for the raster to which the pixel belongsbegins. Moreover, because a raster includes a large number of pixels,the allocated diffused error portions must be stored on a pixel-by-pixelbasis for a large number of pixels while they are distinguished for eachpixel. This is the reason that a high storage capacity RAM 106 isrequired in order to store diffused errors.

[0140] In addition, because a binarization error is diffused amongsurrounding state-undetermined pixels each time dot on-off statedetermination is conducted for a target pixel, data must be frequentlywritten to and read from the RAM 106. If data is frequently written toand read from the RAM 106, the time required for such reading andwriting increases to that extent, which lengthens the period of timerequired for dot on-off state determination.

[0141] (b) Summary Description of Tone Number Conversion Routine of ThisInvention:

[0142] By contrast, in the tone number conversion routine of thisembodiment, dot on-off state determination is conducted for multiplerasters in a parallel manner as described below. When this type ofprocessing is performed, because the frequency of reading and writing ofdata to and from the RAM 106 is reduced, dot on-off state determinationcan be conducted more quickly. The principle by which dot on-off statedetermination is conducted quickly by processing multiple rasters in aparallel manner is described below.

[0143]FIG. 7 is an explanatory drawing showing the principle by whichdot on-off state determination is carried out for two rasters in aparallel manner as the simplest example. Here, dot on-off statedetermination is conducted in a parallel manner for the raster (i) andthe raster (j) immediately therebelow.

[0144] First, dot on-off state determination for the leftmost pixel Pi0of the raster (i) is conducted. FIG. 7(a) shows a conceptual view of thesituation in which the dot on-off state of the pixel Pi0 is conducted.Portions of errors such as those from the pixels Ph0 and Ph1 of theraster (h) located directly above the raster (i) are allocated to andstored in connection with the pixel Pi0. Accordingly, dot on-off statedetermination for the pixel Pi0 is carried out by reading the sum of thediffusion error portions stored in connection the pixel Pi0 from the RAM106 of the computer 100, correcting the tone value of the image data forthe pixel Pi0, and comparing the obtained corrected value with apredetermined threshold value. Because a binarization error occurs inthe pixel Pi0 when dot on-off state determination for the pixel Pi0 isconducted in this manner, the error is diffused among the surroundingpixels in accordance with the error diffusion matrix. Here, in order toavoid making the description unduly complex, the description uses therelatively simple error diffusion matrix shown in FIG. 6(a). For ease ofunderstanding, the same error diffusion matrix shown in FIG. 6(a) isshown in FIG. 7(b) as well. The binarization error occurring in thepixel Pi0 is distributed among the three pixels Pi1, Pj0 and Pj1 basedon the error diffusion matrix shown in FIG. 7(b), and the respectivediffused error portions are stored in the registers incorporated in theCPU 102. The boldface arrows in FIG. 7(a) show the situation in whichthe binarization error from the pixel Pi0 is diffused among thesurrounding pixels.

[0145] In this specification, the diffused errors occurring in themultiple rasters processed in a parallel manner (in FIG. 7, the errorsdiffused from the pixels in the raster i into the pixels in the rasterj, for example) are stored in the registers, and the diffused errorsoccurring in the multiple rasters not processed in a parallel manner (inFIG. 7, the errors diffused from the pixels in the raster j into thepixels in the raster k, for example) are stored in the RAM 106. Asdescribed above, because data can be read and written more quickly toand from the CPU registers than to and from the RAM 106, use of theregisters enables the tone number conversion routine to be performed ata higher speed. Naturally, however, errors occurring in the rastersprocessed in a parallel manner need not always be stored in theregisters, and it is acceptable if they are stored in the RAM 106, forexample. Even where these diffused errors that are immediately used arestored in the RAM 106, because normally the values remaining in thecache memory of the CPU 102 can be used, high-speed reading and writingcan be performed as a practical matter, enabling the tone numberconversion routine to be executed quickly.

[0146] Once dot on-off state determination for the pixel Pi0 has beenconducted and any resulting error has been diffused, the dot on-offstate determination for the next pixel to the right, i.e., the pixelPi1, is begun. With regard to the pixel Pi1 as well, the binarizationerrors occurring in the pixels of the raster (h) located directly abovethe pixel Pi1 are diffused therein in accordance with the errordiffusion matrix of FIG. 7(b) and stored in advance in the RAM 106.Accordingly, the errors diffused from the pixels in the raster (h) andstored in advance in the RAM 106 are read out, and the tone value of theimage data for the pixel Pi1 is corrected based on these diffusionerrors and the diffusion error portion allocated to the pixel Pi1 fromthe pixel Pi0 and stored in the registers. When this is done, becausethe pixel Pi1 image data is corrected using the errors diffused from thepixels Ph0, Ph1 and Ph2, as well as the pixel Pi0, a correction valueequivalent to that obtained by the ordinary error diffusion method canbe obtained.

[0147] If the corrected value is larger than the threshold value aftercomparison between this corrected value and the predetermined thresholdvalue, it is determined that a dot should be formed in the pixel Pi1,and if not, it is determined that a dot should not be formed. Because abinarization error occurs in the pixel Pi1 as a result of thedetermination, this error is distributed among the four surroundingpixels of Pi2, Pj0, Pj1 and Pj2 in accordance with the error diffusionmatrix. The diffused error values allocated to these four pixels arestored individually for each pixel in the registers of the CPU 102. Thearrows indicated by fine lines in FIG. 7(a) show the situation in whichthe binarization error occurring in the pixel Pi1 is diffused amongsurrounding pixels. Because the diffused error from the pixel Pi0 hasalready been stored in connection with the pixel Pj0, the diffused errorfrom the pixel Pi1 is added to this value and accumulated therein. Whendot on-off state determination has been conducted for the pixel Pi1,because the register used to store the diffused error values for thepixel Pi1 is no longer necessary, this register can be used to store thediffused error value allocated from the pixel Pi1 to another pixel.

[0148] Once dot on-off state determination has been conducted for thepixels Pi0 and Pi1 in the raster (i), dot on-off state determination isbegun for the leftmost pixel Pj0 in the raster (j). Because binarizationerrors occurring due to dot on-off state determination are diffusedamong surrounding pixels in accordance with the error diffusion matrix7(b), once the diffused error from the pixel Pi0 and the diffused errorfrom the pixel Pi1 are allocated, all of the diffused errors that willbe allocated to the pixel Pj0 have been allocated. Accordingly, doton-off state determination is conducted for the pixel Pj0 after it isconducted for these two pixels.

[0149]FIG. 7(c) is an explanatory drawing showing a conceptual view ofthe situation in which dot on-off state determination is conducted forthe pixel Pj0. According to the error diffusion matrix shown in FIG.7(b), the errors from the pixels Pi0 and Pi1 are diffused into the pixelPj0, but the values for these errors are stored in the registers of theCPU 102 and not in the RAM 106, as described above. Therefore, usingthese values, the tone value of the image data for the pixel Pj0 iscorrected, and dot on-off state determination is conducted based on therelative sizes of the corrected value and the threshold value. Thebinarization error occurring in the pixel Pj0 as a result of thisdetermination is diffused among the three surrounding pixels Pj1, Pk0and Pk1 in accordance with the error diffusion matrix.

[0150] Here, in the example shown in FIG. 7, dot on-off statedetermination is conducted for the pixels of the raster (i) and thepixels of the raster (j) in a parallel manner. As a result, the doton-off state determination for the two pixels of Pk0 and Pk1 isconducted after dot on-off state determination is completed for all ofthe pixels of the raster (i) and the raster (j). Accordingly, because itis assumed that the values for the errors diffused into the pixels Pk0and Pk1 will not be used for the time being, these values are stored inthe RAM 106. On the other hand, because it is assumed that the errorsdiffused into the pixel Pj1 are going to be used in the near future,they are stored in the registers of the CPU 102. Because dot on-offstate determination is conducted for the rasters (i) and (j) in aparallel manner as described above, the errors that occur in the rasterabove the raster (i) and are diffused into the pixels of the raster (i)are stored in the RAM 106. Similarly the errors that occur in the raster(j) and are diffused into the pixels of the raster (k) are also storedin the RAM 106. Conversely, the errors that occur in the raster (i) andare diffused into the pixels of the raster (j) are stored in theregisters of the CPU 102. In FIG. 7, the hatched lines in the rasters(i) and (k) indicate that the errors diffused into the pixels of theserasters are stored in the RAM 106.

[0151] Furthermore, the arrow pointing from the pixel Pj0 to the pixelPk0, and the arrow pointing from the pixel Pj0 to the pixel Pk1 arewhite in the center of the arrow shaft in FIG. 7(c), indicating that thediffused error portions allocated to these pixels are stored in the RAM106. Conversely, the fact that the arrow pointing from the pixel Pj0 tothe pixel Pj1 is boldfaced indicates that the diffused error portionallocated to the pixel Pj1 is stored in the registers of the CPU 102.Because dot on-off state determination has already been conducted forthe pixel Pj0, the register in which the diffused error portionsallocated to the pixel Pj0 were stored can be used for another purpose,such as for storing the diffused error portions for the pixel Pj1.

[0152] Once the binarization error occurring in the pixel Pj0 has beendiffused among surrounding pixels as described above, dot on-off statedetermination for the pixel Pi2 in the raster (i) is then conducted, thebinarization error that occurs is diffused among surrounding pixels, anddot on-off state determination is then conducted for the pixel Pj1 inthe raster (j). FIG. 7(d) is an explanatory drawing showing a conceptualview of this situation. When dot on-off state determination is conductedfor the pixel Pi2, the image data tone value is corrected based on theerrors diffused from the pixels of the raster (h) and stored in the RAM106, as well as on the error that was diffused from the pixel Pi1 andstored in a register of the CPU 102, and dot on-off state determinationis conducted. The binarization error occurring due to this determinationis diffused among the surrounding pixels. As shown by the boldfacedarrow in FIG. 7(d), the error portions allocated to the surroundingpixels are stored in registers. When dot on-off state determination isconducted for the following pixel Pj1, the image data tone value iscorrected using the diffused errors stored in the register for the pixelPj1, and dot on-off state determination is conducted based on therelative sizes of the corrected value and the predetermined thresholdvalue. The portions of the binarization error occurring due to doton-off state determination and diffused into the pixels of the raster(k) are stored in the RAM 106, and the error portions allocated to thepixels of the raster (j) are stored in the registers. Once processing iscompleted for the pixels Pi2 and Pj1 in this manner, processing isperformed for the pixels Pi3 and Pj2 in the same manner.

[0153] The numbers inside the circles in FIG. 7(d) indicate the sequencein which dot on-off state determination is conducted for the pixels ofthe raster (i) and the raster (j). As shown in the drawing, dot on-offstate determination is conducted in an alternating manner for the pixelsof the raster (i) and the pixels of the raster (j) located directlytherebelow. When processing of the raster (i) and the raster (j) iscarried out in a parallel manner in this way, the errors diffused intothe pixels of the raster (j) can be stored in the registers, and theerrors diffused into the pixels of the raster (k) can be stored in theRAM 106. Namely, the frequency of reading and writing of diffused errorsto and from the RAM 106 can be reduced, and dot on-off statedetermination can be conducted more quickly to that extent.

[0154] Moreover, as shown in FIG. 7, as an exception to the generalrule, because there is no pixel in the raster (j) below and to the leftof the pixel at the leftmost edge of the raster (i), i.e., the pixelPi0, processing is carried out for the pixel Pi1 comprising the nextpixel in the same raster (i) following the pixel Pi0. Naturally,however, it is acceptable if a hypothetical pixel Pj-1 is assumed toexist below and to the left of the pixel Pi0, such that after processingof the hypothetical pixel Pj-1 is carried out following processing ofthe pixel Pi0, the result of dot on-off state determination for thehypothetical pixel Pj-1 is discarded without being used. This solutionis preferred because it allows exceptional processing to be avoided,since normal processing can be carried out for the leftmost pixelvis-a-vis the hypothetical pixel.

[0155]FIG. 8 is a flow chart showing the sequence of the routine inwhich dot on-off state determination is conducted in a parallel mannerfor two rasters. This routine is executed by the CPU 102 of the computer100. As described above, the color printer of this embodiment is aprinter that can form ink dots in the four colors of C, M, Y and K, andthe tone number conversion routine shown in FIG. 8 is carried out foreach color, but in order to avoid making the description below undulycomplex, the colors of ink dots are not specified in the followingdescription. Naturally, the routine may be applied in a six-colorprinter that includes LC ink and LM ink in addition to the four colorsdescribed above.

[0156] The color printer of this embodiment described above may alsocomprise a variable dot printer that can form dots of different sizesfor each color. When a variable dot printer such as a variable dotprinter that can form large, medium and small dots is used, the tonenumber conversion routine described below is executed for each dothaving each of the various sizes.

[0157] Because increasing the number of ink colors used and the numberof dot sizes that can be formed increases the number of times that thetone number conversion routine is executed, the amount of time requiredfor execution of the routine also increases accordingly. Because thetone number conversion routine of this embodiment described below can beperformed quickly, it may be advantageously applied in these situationsas well.

[0158] When the tone number conversion routine of this embodiment isbegun, the image data for the pixel that belongs to the first raster ofthe rasters to be processed in a parallel manner and for which doton-off state determination is to be conducted, as well as the errorsdiffused into this pixel, are obtained (step S200). Here, the pixel tobe processed is the nth pixel Pin of the raster (i). The image data Cdinand diffused error sum Edin are both stored in the RAM 106.

[0159] Corrected data Cxin for the pixel Pin is calculated by addingtogether the image data Cdin and the diffused error sum Edin for thepixel Pin (step S202). The obtained corrected data Cxin is compared witha predetermined threshold value th (step S204), and if the correcteddata is larger than the threshold value, it is determined that the pixelPin should contain a dot, and the value ‘1’ representing the formationof a dot is written into the variable Cr indicating the determinationresult (step S206). If the corrected data is not larger than thethreshold value, it is determined that the pixel Pin will not contain adot, and the value ‘0’ representing the non-formation of a dot iswritten into the variable Cr (step S208).

[0160] Once dot on-off state determination is conducted for the pixelPin in the raster (i), the binarization error occurring in connectionwith this determination is calculated (step S210). The binarizationerror Ein can be sought by subtracting the tone value (result value)expressed for the pixel Pin in terms of dot formation or non-formationfrom the corrected data Cxin. The obtained binarization error ismultiplied by each of the error diffusion coefficients, and the errorvalues to be allocated to surrounding pixels are calculated. The errordiffusion coefficient is set for each pixel in the error diffusionmatrix. The error values to be diffused into the pixels of the raster(i) and the error value to be diffused into the pixels of the raster (j)located directly below the raster (i), which are sought in this manner,are stored in the registers (step S212). If there are any error portionsto be diffused into other pixels, such as those to be allocated to thepixels of the raster (k), they are stored in the RAM 106.

[0161] Once dot on-off state determination and the diffusion of errorsregarding the pixel of the raster (i) have been completed, dot on-offstate determination for the pixel Pjn-1 of the raster j is begun. Theimage data Cdjn-1 for the pixel Pjn-1 is read out from the RAM 106 (stepS214) and the diffused error sum Edjn-1 allocated to the pixel Pjn-1 isread in from the register (step S216). The diffused error value from thepixel Pin for which dot on-off state determination was previouslyperformed is also accumulated in the diffused error sum Edjn-1 read infrom the register. Where the pixel Pin of the raster (i) is the leftmostpixel Pi0, this process is performed with regard to the hypotheticalpixel Pj-1.

[0162] Next, the image data Cdjn-1 and the diffused error sum Edjn-1 areadded together and the corrected data Cxjn-1 is calculated (step S218),the obtained corrected data Cxjn-1 is compared with the predeterminedthreshold value th (step S220), and if the corrected data is larger thanthe threshold value, a dot is determined to be formed and the value ‘1’indicating dot formation is written into the variable Cr representingthe determination result (step S222). If the corrected data is notlarger than the threshold value, the value ‘0’ indicating dotnon-formation is written into the variable Cr (step S224). Thebinarization error Ejn-1 occurring in the pixel Pjn-1 together with thisdetermination is then calculated (step S226). The binarization errorEjn-1 can be sought by subtracting the pixel Pjn-1 result value from thecorrected data Cxjn-1. The error values to be diffused into thesurrounding pixels are calculated by multiplying the binarization errorthus obtained by the respective error diffusion coefficients. When thediffused error values have been sought in this manner, the values to bediffused into the pixels of the raster (j) are stored in the registers,while the values to be diffused into the pixels of the raster (k) arestored in the RAM 106 (step S228).

[0163] Once dot on-off state determination and error diffusionprocessing are completed for the pixel of the raster (i) and the raster(j), it is determined whether or not processing has been completed forall of the pixels of the raster (i) and the raster (j) (step S230).Where unprocessed pixels remain, the pixel position is moved one pixelto the right, i.e., ‘n’ is replaced with ‘n+1’ (step S232), the CPU 102returns to step 200, and the next series of processes is performed.Where no unprocessed pixels remain, it is determined whether or notprocessing has been completed for all rasters (step S234), and whereunprocessed rasters remain, the raster position is shifted two rastersdown, i.e., ‘i’ is replaced with ‘i+2’ (step S236), the CPU 102 returnsto step 200, and the next series of processes is performed. Where nounprocessed rasters remain, the tone number conversion routine shown inFIG. 8 is ended and the CPU 102 returns to the image data conversionroutine shown in FIG. 4.

[0164] As described above, in the tone number conversion routine of thefirst embodiment, dot on-off state determination is conducted in aparallel and alternating manner for the pixels of the raster (i) and thepixels of the raster (j). When this is done, dot on-off statedetermination is conducted for a pixel of the raster (j) either afterdot on-off state determination for a pixel of the raster (i) or shortlythereafter. Therefore, with regard to dot formation determination forthe pixels of the raster (j), because determination can be made directlywithout storing in the error buffer the errors that are to be diffusedfrom the pixels of the raster (i) into the surrounding pixels, thefrequency with which errors are written to the error buffer can bereduced to that extent. If the frequency with which errors are writtento the error buffer can be reduced, the time required for dot on-offstate determination can be shortened accordingly, and therefore the tonenumber conversion routine can be executed more quickly to that extent.

[0165] In addition, where the storage capacity of the error buffer mustbe conserved, a routine is executed that enables the error buffer thatwas used for dot on-off state determination for one raster to be reusedfor such determination for a different raster. In this case as well,because in the tone number conversion routine of the first embodimentdescribed above, the error buffer need only have the capacity to handleone raster for every two rasters, the number of total rasters regardingwhich diffused errors are stored in the error buffer can be cut in half.As a result, the capacity of the error buffer used during dot on-offstate determination can be made smaller even where processing to reusethe buffer for such determination regarding another raster is notperformed. Naturally, if processing of more than two rasters is carriedout in a parallel manner, because the error buffer need only have thecapacity to handle one raster for a given number of rasters, thecapacity of the error buffer can be further reduced to that extent.

B-4. Modifications:

[0166] (1) First Modification

[0167] The description above involved the simplest possible example,wherein dot on-off state determination was conducted for two rasters ina parallel manner. However, the number of rasters that may be processedin a parallel manner is not limited to two, and may comprise three ormore. FIG. 9 is an explanatory drawing showing a conceptual view of thesituation in which dot on-off state determination is conducted for threerasters in a parallel manner. In FIG. 9, dot on-off state determinationis conducted for the three rasters (i), (j) and (k) in a parallelmanner. In order to avoid making the description unduly complex, theerror diffusion matrix shown in FIG. 6(a) is used here, as in the caseshown in FIG. 7.

[0168] The hatched lines in the raster (i) and the raster (L) indicatethat diffused errors allocated to these raster pixels are stored in theRAM 106. The numbers enclosed by circles located inside the pixels ofthe rasters (i), (j) and (k) indicate the order in which dot on-offstate determination is conducted for each pixel. As shown in thedrawing, dot on-off state determination is carried out for the firstthree pixels in the same order as when such determination was conductedin a parallel manner for the two rasters described referring to FIG. 7.From the fourth pixel onward, dot on-off state determination isconducted in a parallel manner in the order of the pixels from therasters (i), (j) and (k), which are handled as one group. Here, sinceprocessing of the three rasters (i) through (k) is carried out in aparallel manner, the errors diffused into the pixels of these threerasters are used in a short period of time, and therefore they arestored in the registers of the CPU 102. Because the errors diffused intothe pixels of the raster L are used only after processing of the threerasters (i) through (k) is completed, the errors diffused into thepixels of the raster L are stored in the RAM 106. By repeating theseoperations, dot on-off state determination for three rasters can beconducted in a parallel manner.

[0169] If dot on-off state determination for the three rasters (i)through (k) is conducted in a parallel manner as described above, thesame effect as that achieved for parallel processing of the two adjacentrasters of (i) and (j) or (j) and (k) can be obtained.

[0170] Furthermore, if parallel processing of the rasters (i) and (k) iscarried out, dot on-off state determination for a pixel of the raster(k) is conducted either after such determination for a pixel of theraster (i) or shortly thereafter. Therefore, because it is possible toconduct dot on-off state determination for the pixels of the raster (k)directly, without having to store errors from the pixels of the raster(i) that are to be diffused into surrounding pixels in the error buffer,the frequency of writing to the error buffer can be reduced and the timerequired for dot on-off state determination can be shortenedaccordingly.

[0171] (2) Second Modification:

[0172] In the various embodiments described above, in order to avoidmaking the description unduly complex, the error diffusion matrix usedwas the relatively small matrix shown in FIG. 6(a). Naturally, however,dot on-off state determination can be conducted in a parallel manner forthe pixels of multiple rasters using this method even where a differenterror diffusion matrix is used. As one example, a situation in which doton-off state determination is conducted in a parallel manner for tworasters using the error diffusion matrix shown in FIG. 6(b) will beexplained below with reference to FIG. 10.

[0173] For ease of understanding, the error diffusion matrix used isshown in FIG. 10(a). This matrix is identical to the matrix shown inFIG. 6(b). When this error diffusion matrix is used, the binarizationerror occurring in the target pixel shaded with hatched lines isdiffused not only into a pixel adjacent to the target pixel, but alsointo a pixel adjacent to the adjacent pixel. As applied to FIG. 10(b),the binarization error occurring in the pixel Pj2, is diffused into thepixels Pi3 and Pi4 in the raster (i), and into the pixels Pj0 throughPj4 of the raster (j). Namely, in addition to the diffused error fromthe pixel Pi0 and the diffused error from the pixel Pi1 of the raster(i), the diffused error from the pixel Pi2 is also allocated to thepixel Pj0 of the raster (j). Accordingly, once dot on-off statedetermination for these three pixels in the raster (i) is completed, doton-off state determination for the pixel Pj0 of the raster (j) is begun.That is, where the error diffusion matrix shown in FIG. 10(a) is used,the positional relationship between the pixel from the raster (i) andthe pixel from the raster (j) is a relationship wherein the pixel fromthe raster (j) is two pixels behind the pixel from the raster (i). Whereparallel processing of multiple rasters is carried out in this manner,the positional relationships between the pixels from each raster can beestablished in accordance with the range within which the binarizationerror is diffused. Dot on-off state determination for the pixels of thevarious rasters is conducted in a parallel manner while these positionalrelationships are maintained.

[0174]FIG. 10(b) is an explanatory drawing showing the situation inwhich dot on-off state determination for the Pixel Pi2 of the raster (i)and the pixel Pj0 of the raster (j) is conducted in a continuous manner.In the drawing, the numbers enclosed within the circles indicate theorder in which dot on-off state determination is conducted as among thepixels of the rasters (i) and (j). In addition, the boldfaced arrowsextending from the pixel Pi2 toward surrounding pixels indicate in aconceptual manner the manner in which the binarization error occurringin the pixel Pi2 is diffused among the surrounding pixels in accordancewith the error diffusion matrix. Once the binarization error occurringin the pixel Pi2 is diffused among the surrounding pixels, dot on-offstate determination for the pixel Pj0 is conducted. With regard to thebinarization error occurring in the pixel Pj0, the diffused errorportions allocated to the pixels of the raster (j) are stored in theregisters of the CPU 102, while the diffused error portions allocated tothe pixels of the raster (k) are stored in the RAM 106. The white arrowsextending from the pixel Pj0 toward the pixels of the raster (k)indicate that the diffused error portions allocated to these pixels arestored in the RAM 106. As indicated by the numbers in the circles, doton-off state determination for the pixels of the rasters (i) and (j) isconducted in an alternating manner in the order of Pj0, Pi3, Pj1. Thediffused error portions allocated to the pixels of the raster (i) andthe raster (j) are stored in the registers of the CPU 102, while thediffused error portions allocated to the pixels of the raster (k) arestored in the RAM 106. When dot on-off state determination is conductedfor each pixel in the rasters (i) and (j) while the above operations arerepeated, by shifting the position of the raster to be processeddownward by two rasters and by repeating these operations for the pixelsof the raster (k) and the raster immediately therebelow, dot on-offstate determination can be conducted in a parallel manner for the tworasters using the error diffusion matrix shown in FIG. 10(a). Where doton-off state determination is conducted in a parallel manner for therasters (i) and (j) as well, such determination is conducted for a pixelof the raster (j) either after that for a pixel of the raster (i) orwithin a short period of time thereafter. Therefore, because it ispossible to conduct dot on-off state determination for the pixels of theraster (j) directly, without having to store errors from the pixels ofthe raster (i) that are to be diffused into surrounding pixels in theerror buffer, the frequency of writing to the error buffer can bereduced and the time required for dot on-off state determination can beshortened accordingly.

[0175] (3) Third Modification:

[0176] In the various embodiments described above, the binarizationerror occurring in the target pixel were diffused in the pixels of thesame raster as the target pixel and the pixels of the raster one rasterbelow such raster, but the present invention is not limited to thisimplementation. For example, where the error diffusion matrix shown inFIG. 6(d) is used, the binarization error occurring in the target pixelis diffused into the pixels of the raster two rasters down from theraster containing the target pixel. FIG. 11 is an explanatory drawingshowing a conceptual view of the situation in which dot on-off statedetermination is carried out for three rasters using the error diffusionmatrix shown in FIG. 6(d).

[0177] For ease of understanding, the error diffusion matrix used isshown in FIG. 11(a). This matrix is the same matrix shown in FIG. 6(d).Here, it is assumed that dot on-off state determination is conducted ina parallel manner for the three rasters (i), (j) and (k). Thebinarization errors occurring in the pixels of the raster (k) arediffused into the pixels of the three rasters (k) through (m) inaccordance with the error diffusion matrix shown in FIG. 11(a), but doton-off state determination for the pixels of the two rasters (L) and (m)is conducted only after processing of the three rasters (i) through (k)is completed. Therefore, the errors diffused into pixels of the rasters(L) and (m) are stored in the RAM 106. In FIG. 11(b), the hatchedlines⁽²⁾ indicate pixels regarding which the diffused binarizationerrors are stored in the RAM 106. Where the error diffusion matrix shownin FIG. 11(a) is used in this manner, a raster regarding which thediffused binarization errors are stored in the registers of the CPU 102alternates with a raster for which diffused errors are stored in the RAM106.

[0178] (4) Fourth Modification:

[0179] Where binarization errors are diffused over a wide range ofpixels, if such errors are diffused into pixels located at apredetermined distance or farther from the target pixel, they may bestored in the error buffer. For example, it is acceptable if errors tobe diffused into pixels at a distance of 3 pixels or more from thetarget pixel are diffused into pixels for which error buffers areallocated and the error diffusion matrix shown in FIG. 12(a) is used. InFIG. 12(a), the indication of pixels from two different rasters, locatedat a distance from the target pixel, as a single unit surrounded by adashed line, indicates that as between the two rasters in these regions,errors are stored for the raster for which an error buffer is allocated.This situation will now be explained more specifically with reference toFIGS. 12(b) and 12(c). Here, the target pixel is assumed to belong to araster for which an error buffer is allocated. In this case, becauseerror buffers are allocated for the raster containing the target pixeland the raster two rasters below this raster, errors are diffused in thesame manner as they would be based on the matrix shown in FIG. 12(b).Next, if it is assumed that the target pixel is located in a raster thatis not allocated an error buffer, because error buffers are allocatedfor the rasters above and below the raster containing the target pixel,the target pixel error is diffused in the same matter as it would bebased on the matrix shown in FIG. 12(c).

[0180] As becomes clear when the error diffusion matrix of FIG. 12(a) iscompared with the error diffusion matrix of FIG. 6(c), error portionsdiffused into the pixels K03 and K13 in FIG. 6(c) are diffused togetherinto the region three pixels away from the target pixel in FIG. 12(a)(in the drawing, the region indicated as K3). Similarly, error portionsdiffused into the pixels K04 and K14 in FIG. 6(c) are diffused togetherinto the region four pixels away from the target pixel in FIG. 12(a) (inthe drawing, the region indicated as K4).

[0181] Experience has determined that where the error occurring in thetarget pixel is diffused into a pixel at a distance therefrom, there isno substantial deterioration in image quality even if the position ofthe pixel into which the error is diffused does not precisely match thecalculated position. Accordingly, where binarization errors are diffusedover a wide range, there is no deterioration in image quality even ifsuch errors are diffused into distant pixels allocated error buffers. Inthe various embodiments described above, where errors are not diffusedin error buffers, they are stored in the registers of the CPU 102.Accordingly, if errors diffused into distant pixels are stored in theerror buffer, the use of registers used to conduct dot on-off statedetermination can be conserved to that extent. If there are fewerregisters, in which errors are stored, processing can be simplified, andif the conserved registers are used for another purpose, dot on-offstate determination can be conducted more quickly to that extent.

[0182] In the above description, errors were diffused into the pixels oftwo rasters, but if the error diffusion matrix shown in FIG. 12(d) isused, they can be diffused over three rasters. Where errors are diffusedover an even larger number of rasters in this way, if errors diffusedinto distant pixels are diffused into pixels allocated error buffers,processing can be carried out more simply and quickly without adeterioration in image quality.

C. Second Embodiment

[0183] In the various embodiments described above as the tone numberconversion routine of the first embodiment, the binarization erroroccurring during dot on-off state determination for the target pixel wasdiffused into and stored in connection with surrounding pixels inaccordance with error diffusion coefficients set in an error diffusionmatrix. This means that the method of the first embodiment can bepresumed to conform to the so-called error diffusion method. Dot on-offstate determination for multiple rasters can also be conducted in aparallel manner using a method conforming to the so-called average errorminimum method. The tone number conversion routine of this secondembodiment will be explained below.

C-1. Tone Number Conversion Routine of the Second Embodiment

[0184]FIG. 13 is an explanatory drawing to explain in a conceptualmanner the principle by which dot on-off state determination isconducted quickly through parallel processing of multiple rasters in thetone number conversion routine of the second embodiment. Beforeproceeding to a detailed description of the tone number conversionroutine of the second embodiment, as background for such description, abrief explanation of the method referred to as the average error minimummethod will be provided with reference to FIG. 13.

[0185] In the average error minimum method, where dot on-off statedetermination is conducted for the target pixel, binarization errorsoccurring in the surrounding pixels as to which dot on-off statedetermination has already been conducted are read out, and dot on-offstate determination is conducted for the target pixel while taking intoaccount these binarization errors. This operation will be explained withreference to FIG. 13(a). FIG. 13(a) is an explanatory drawing showingthe situation in which dot on-off state determination is conducted forthe pixel Pi0. Where dot on-off state determination is conducted for thepixel Pi0, first, the binarization errors occurring in the pixels Ph0and Ph1 adjacent to the pixel Pi0 are each multiplied by a predeterminedweighting coefficient, and the value obtained by adding together theresults of these two operations is calculated. In FIG. 13(a), thepresence of ‘Eh0’ and ‘Eh1’ in the pixels Ph0 and Ph1, respectively,indicates that the binarization errors Eh0 and Eh1 have occurred inthose pixels. The image data for the pixel Pi0 is corrected using thethus calculated value, and dot on-off state determination is conductedbased on the relative size of the obtained corrected value and apredetermined threshold value. The weighting coefficient by which thebinarization error is multiplied is preset for each pixel based on therelative positional relationship of each pixel to the target pixel. FIG.13(b) is an explanatory drawing showing the situation in which theweighting coefficient for each surrounding pixel is set relative to thetarget pixel. The pixel shaded by hatched lines in the drawing is thetarget pixel. For example, in the pixel to the left of the target pixel,‘K0-1’ is assigned as the weighting coefficient. Naturally, however, thematrix that assigns weighting coefficients for each pixel surroundingthe target pixel is not limited to the matrix shown in FIG. 13(b), andthe various matrices shown in FIG. 14 may be used as well.

[0186] Once dot on-off state determination has been conducted for thepixel Pi0 as described above, dot on-off state determination isconducted for the pixel Pi1 adjacent thereto on the right. When doton-off state determination is conducted for the pixel Pi1, dot on-offstate determination is conducted while taking into account thebinarization errors that occurred in the pixels Ph0, Ph1, Ph2 and Pi0,based on the matrix set in FIG. 13(b). When dot on-off statedetermination for the pixel Pi1 is completed, such determination isconducted for the pixel Pi2 adjacent thereto on the right. Dot on-offstate determination is thereby conducted one pixel at a time along theraster. The binarization errors occurring due to dot on-off statedetermination are stored in the error buffer located in the RAM, andwhen dot on-off state determination is completed for all pixels in theraster currently being processed, they are read out once more from theerror buffer in the RAM and used during processing of the raster locatedone raster below the previously processed raster.

[0187] As described above, in order to conduct dot on-off statedetermination using the average error minimum method, the binarizationerrors in the surrounding pixels must be read out from the error bufferlocated in the RAM each time that dot on-off state determination isconducted for a target pixel, and in order to use the binarization erroroccurring in the target pixel due to such determination in dot on-offstate determination for other pixels, the error must be stored in theerror buffer. Because of the need to frequently read and writebinarization errors to and from the error buffer, dot on-off statedetermination takes more time to that extent.

[0188] By contrast, in the tone number conversion routine of the secondembodiment described below, dot on-off state determination can beconducted quickly by carrying out parallel processing of multiplerasters. The principle behind this quick dot on-off state determinationvia parallel processing of multiple rasters will be explained below withreference to FIG. 13.

[0189]FIG. 13 is an explanatory drawing showing the principle behind doton-off state determination conducted for two rasters in a parallelmanner, as the simplest possible example. Here, dot on-off statedetermination is conducted in a parallel manner for the raster (i) andthe raster (j) located directly therebelow.

[0190] First, dot on-off state determination is conducted for theleftmost pixel of the raster (i), i.e., the pixel Pi0. FIG. 13(a) showsa conceptual view of this dot on-off state determination for the pixelPi0. The binarization error Eh0 for the pixel Ph0 and the binarizationerror Eh1 for the pixel Ph1 are used in order to conduct dot on-offstate determination for the target pixel Pi0, as in the average errorminimum method described above. These binarization errors are stored inthe RAM 106 of the computer 100. The binarization errors read out fromthe RAM 106 are each multiplied by a weighting coefficient preset in thematrix of FIG. 13(b), and the image data for the target pixel Pi0 iscorrected. Dot on-off state determination is then conducted based on theobtained corrected value. In FIG. 13(a), the boldfaced arrows pointingfrom the pixel Ph0 and the pixel Ph1 to the target pixel Pi0 indicate ina conceptual manner that the binarization errors for the pixels Ph0 andPh1 are to be taken into account when conducting dot on-off statedetermination for the target pixel Pi0.

[0191] Once dot on-off state determination has been conducted for thepixel Pi0, the binarization error Ei0 occurring as a result thereof isstored temporarily in a register of the CPU 102, and dot on-off statedetermination for the pixel Pi1 adjacent to the pixel Pi0 on the rightis begun. According to the weighting coefficients set in FIG. 13(b),when conducting dot on-off state determination for the pixel Pi1, thebinarization errors that occurred in the pixels Ph0, Ph1, Ph2 and Pi0are taken into account. In FIG. 13(a), the fine arrows that point fromthese pixels to the pixel Pi1 indicate in a conceptual manner that thebinarization errors in these pixels are to be taken into account whenconducting dot on-off state determination for the target pixel Pi1. Inregard to the binarization error Eh0 for the pixel Ph0 and thebinarization error Eh1 for the pixel Ph1 among these four binarizationerrors, the values previously used for dot on-off state determinationfor the pixel Ph0 are stored such that they can be re-used. For thebinarization error Ei0 for the pixel Pi0, the previously sought valuecan be used. Therefore, if only the binarization error Eh2 for the pixelPh2 is read out from the RAM 106, dot on-off state determination can beconducted for the pixel Pi1. The binarization error Ei1 occurring in thepixel Pi1 as a result of such determination is stored in a register ofthe CPU 102.

[0192] In the tone number conversion routine of the second embodiment,once dot on-off state determination has been conducted for the pixelsPi0 and Pi1 in the raster (i), it is then conducted for the pixel Pj0 inthe raster (j). FIG. 13(c) is an explanatory drawing that shows in aconceptual manner the situation in which dot on-off determination isconducted for the pixel Pj0. As is clear from the matrix of FIG. 13(b),the dot on-off state for the pixel Pj0 can be determined taking intoaccount only the binarization errors for the pixels Pi0 and Pi1. Asdescribed above, these binarization errors Ei0 and Ei1 are sought andstored in the registers of the CPU 102 immediately prior to dot on-offstate determination for the pixel Pj0. Consequently, dot on-off statedetermination can be conducted for the pixel Pj0 without the need toread out binarization errors from the RAM 106. Once dot on-off statedetermination has been conducted for the pixel Pj0, the binarizationerror occurring in the pixel Pj0 is stored in a register of the CPU 102and the error buffer of the RAM 106, whereupon dot on-off statedetermination is conducted in an alternating manner for the pixels ofthe raster (i) and the pixels of the raster (j).

[0193] The reason that the binarization error Ej0 occurring in the pixelPj0 is stored in the error buffer of the RAM 106 is that afterprocessing of the rasters (i) and (j) are completed, the binarizationerror Ej0 is used when dot on-off state determination is conducted forthe pixels of the raster (k). Furthermore, the reason that thebinarization error Ej0 for the pixel Pj0 is stored not only in the errorbuffer but also in a register of the CPU 102 is that it is used when doton-off state determination is conducted for the pixel Pi1 adjacentthereto. When dot on-off state determination is conducted for the pixelPi0 or the pixel Pi1 described above, the binarization errors stored inthe RAM 106 in this way are read out and used. In FIG. 13, the hatchedlines in the rasters (h) and (j) indicate that the binarization errorsin these pixels are stored in the error buffer.

[0194] The numbers enclosed by circles in the pixels in FIG. 13(d)indicate the order in which dot on-off state determination is conductedfor each pixel. As shown in FIG. 13(d), the pixel for which dot on-offstate determination is conducted immediately following suchdetermination for the pixel Pj0 is the pixel Pi2 in the raster (i). Thebinarization errors taken into account during dot on-off statedetermination for this pixel are the four tone values of the pixels Ph1,Ph2, Ph3 and Pi1. If the binarization errors used in the case of thepixel Pi1 described above are stored, dot on-off state determination canbe conducted by reading out only the binarization error occurring in thepixel Ph3. After the pixel Pi2, dot on-off state determination isconducted for the pixel Pj1 in the raster (j). While dot on-off statedetermination for the pixel Pj1 uses the binarization errors for thepixels Pi1, Pi1, Pi2 and Pj0, these binarization errors are all soughtimmediately beforehand and stored in the registers of the CPU 102.Therefore, dot on-off state determination is conducted for the pixel Pj1without reading out binarization errors from the RAM 106. When thebinarization error Ej1 for the pixel Pj1 is sought in this manner, thebinarization error Ej1 is stored in the registers of the CPU 102 and inthe error buffer of the RAM 106.

[0195] As described above, dot on-off state determination is conductedin an alternating manner for the pixels of the raster (i) and the pixelsof the raster (j) located below and to the left thereof. If processingof the raster (i) and the adjacent raster (j) is carried out in aparallel manner in this manner, dot on-off state determination can beconducted for the pixels of the raster (j) without the need to read outbinarization errors from the RAM 106. Namely, because the frequency ofreading and writing to and from the error buffer of the RAM 106 can bereduced accordingly, the time required to conduct dot on-off statedetermination can also be shortened.

[0196] As shown in FIG. 13, because there is no pixel in the raster (j)located below and to the left of the leftmost pixel of the raster (i),i.e., the pixel Pi0, processing of the pixel Pi1 that follows the pixelPi0 in the same raster (i) is carried out as an exception. Naturally,however, it is acceptable if a hypothetical pixel Pj-1 is assumed toexist below and to the left of the pixel Pi0, and after processing ofthe hypothetical pixel Pj-1 is carried out following processing of thepixel Pi0, the result of dot on-off state determination for thehypothetical pixel Pj-1 is discarded without being used. This solutionis preferred because it renders exceptional processing unnecessary,since normal processing can be carried out for the leftmost pixelvis-a-vis the hypothetical pixel.

[0197]FIG. 15 is a flow chart showing the sequence of the routine inwhich dot on-off state determination is conducted in a parallel mannerfor two rasters. This routine is executed by the CPU 102 of the computer100. As with the tone number conversion routine of the first embodiment,the tone number conversion routine of the second embodiment is executedfor each color installed in the color printer, but in order to avoidmaking the description unduly complex, the ink dot color will not bespecified below. Furthermore, where a so-called variable dot printer isused, the second embodiment is identical to the first embodiment in thatthe tone number conversion routine is executed for each dot size.

[0198] When the tone number conversion routine of the second embodimentis begun, first, the image data for the pixel for which dot on-off statedetermination and which belongs to the first raster of the rasters to beprocessed in a parallel manner is to be conducted is obtained (stepS300). Here, the pixel to be processed (the target pixel) is the nthpixel Pin of the raster (i), as in the first embodiment. The image dataCdin is stored in the RAM 106.

[0199] The binarization errors for the pixels surrounding the targetpixel Pin are then read out (step S302). ‘Surrounding pixels’ are thepixels located within a predetermined region relative to the targetpixel, the binarization errors for which are taken into account whenconducting dot on-off state determination for the target pixel. Pixelsin various regions may be taken into consideration as the surroundingpixels in the dot on-off determination for the target pixel, but inorder to avoid making the description unduly complex, the pixels shownin the matrix in FIG. 14(a) will be taken into account. When thesurrounding pixel binarization errors are read out in step 302, it isacceptable if the binarization errors for each pixel read out when doton-off state determination was conducted for the pixel Pin-1 to the leftof the target pixel Pin are stored in the registers, as explained withreference to FIG. 13, and only the binarization errors not stored in theregisters in step 302 are read out from the RAM 106.

[0200] Corrected data Cxin for the target pixel Pin is calculated basedon the read out surrounding pixel binarization errors and the image dataCdin for the target pixel Pin (step S304). Namely, the corrected dataCxin is sought by multiplying the surrounding pixel binarization errorsby the predetermined weighting coefficient assigned to each surroundingpixel and then calculating the sum of these products and the image dataCdin for the target pixel Pin. The surrounding pixel weightingcoefficients are assigned to each pixel in the matrix shown in FIG.14(a).

[0201] The obtained corrected data Cxin is compared with a predeterminedthreshold value th (step S306), and if the corrected data is larger thanthe threshold value, it is determined that the pixel Pin should containa dot, and the value ‘1’ representing the formation of a dot is writteninto the variable Cr indicating the determination result (step S308). Ifthe corrected data is not larger than the threshold value, it isdetermined that the pixel Pin will not contain a dot, and the value ‘0’representing the non-formation of a dot is written into the variable Cr(step S310).

[0202] Once dot on-off state determination has been conducted for thepixel Pin in the raster (i), the binarization error occurring inconnection with this determination is calculated and stored in theregisters of the CPU 102(step S312). As in the first embodiment, thebinarization error Ein can be sought by subtracting the result value forthe pixel Pin from the corrected data Cxin.

[0203] After dot on-off state determination for the pixel Pin in theraster (i) is completed as described above and the binarization error isstored in a register of the CPU 102, the process of dot on-off statedetermination for the pixel Pjn-1 in the raster (j) located below and tothe left of the pixel Pin is begun. First, the image data Cdjn-1 for thepixel Pjn-1 is read out from the RAM 106 (step S314), and thebinarization errors for each of the surrounding pixels are read out fromthe registers of the CPU 102 (step S316). Where the pixel Pin is thepixel Pi0 at the left edge of the raster (i), the same process iscarried out for the hypothetical pixel Pj-1.

[0204] The reason that the surrounding pixel binarization errors can beread out from the registers and need not be read out from the errorbuffer of the RAM 106 in step S316 will now be explained. Because thesurrounding pixels taken into account during the dot on-off statedetermination process comprise the pixel range shown in FIG. 14(a) asdescribed above, during dot on-off state determination for the pixel ofthe raster (j), the binarization errors for the pixels in the raster (i)to which the target pixel belongs, and the binarization errors for thepixels of the raster (j) located one raster above the raster (j) aretaken into account. Here, because dot on-off state determination isconducted for the pixels of the raster (i) and the pixels of the raster(j) in a parallel manner, the pixels deemed surrounding pixels when doton-off state determination is conducted for the pixels of the raster (j)are only those pixels as to which dot on-off state determination wasconducted just a short time previously. Therefore, if binarizationerrors occurring in connection with dot on-off state determination forthese pixels are stored in the registers of the CPU 102 for only a shortperiod, all surrounding pixel binarization errors can be read out fromthe registers without the need to read them out from the error buffer ofthe RAM 106.

[0205] Once the surrounding pixel binarization errors are read out inregard to the pixel Pjn-1 as described above, dot on-off statedetermination is conducted as in the case of the pixel Pin, and theresulting binarization error is calculated. Namely, the corrected dataCxjn-1 is calculated based on the surrounding pixel binarization errorsand the image data Cdjn-1 for the target pixel Pin-1 (step S318), theobtained corrected data Cxjn-1 is compared with the predeterminedthreshold value th (step S320), and if the corrected data is larger, itis determined that a dot is to be formed in the pixel Pin-1, and thevalue ‘1’ representing dot formation is written into the variable Crindicating the determination result (step S322). If the corrected datais smaller than the threshold value, it is determined that a dot is notto be formed in the pixel Pjn-1, and the value ‘0’ representing dotnon-formation is written into the variable Cr (step S324). The resultvalue for the target pixel Pin-1 is then subtracted from the correcteddata Cxjn-1 and the binarization error Ejn-1 occurring in the targetpixel Pjn-1 is calculated.

[0206] Once the binarization error Ejn-1 occurring in the target pixelPjn-1 in the raster (j) has been calculated as described above, thebinarization error Ejn-1 is stored in the registers of the CPU 102 andin the error buffer of the RAM 106 (step S328). Here, the reason thatbinarization error is stored in the registers and in the error buffer isas follows. The binarization error Ejn-1 occurring in the target pixelPjn-1 is used during dot on-off state determination for the adjacentpixel Pjn and in dot on-off state determination for the pixels of theraster (k) located one raster therebelow. Because the rasters (i) and(j) are processed in a parallel manner, dot on-off state determinationfor the adjacent pixel Pjn is conducted shortly thereafter, while doton-off state determination for the pixels of the raster (k) is conductedonly after processing of the rasters (i) and (j) has been completed.Therefore, the binarization error Ejn-1 occurring in the pixel Pjn-1 isstored in the registers of the CPU 102 for use in dot on-off statedetermination for the pixel Pjn, and is also stored in the RAM 106 errorbuffer for use in dot on-off state determination for the raster (k).

[0207] Once dot on-off state determination is completed for the pixelsof the rasters (i) and (j) as described above, it is determined whetheror not processing of all pixels in the rasters (i) and (j) has beencompleted (step S330). Where unprocessed pixels remain, the pixelposition is shifted one pixel to the right, i.e., the value ‘n+1’ issubstituted for the value ‘n’, the CPU 102 returns to step 200, and thenext series of processes is performed. Where no unprocessed pixelsremain, it is determined that processing has been completed for allrasters (step S332), and where unprocessed rasters remain, the rasterposition is shifted two rasters down, i.e., ‘i’ is replaced with ‘i+2’,the CPU 102 returns to step 200, and the next series of processes isperformed. Where no unprocessed rasters remain, the tone numberconversion routine shown in FIG. 15 is ended and the CPU 102 returns tothe image data conversion routine shown in FIG. 4.

[0208] As described above, according to the tone number conversionroutine of the second embodiment, dot on-off state determination isconducted in a parallel and alternating manner for the pixels of theraster (i) and the pixels of the raster (j). When this is done, becausedot on-off state determination for a pixel in the raster (j) isconducted following such determination for a pixel of the raster (i) orshortly thereafter, dot on-off state determination for the pixels in theraster (j) can be conducted even if the binarization errors occurring inthe pixels of the raster (i) are not stored in the error buffer. If thebinarization errors occurring in the pixels of the raster (i) need notto be stored in the error buffer, because the frequency of writing tothe error buffer can be reduced accordingly, dot on-off statedetermination can be carried out more quickly. Naturally, the number ofrasters processed in a parallel manner is not limited to two, and it isacceptable if dot on-off state determination is conducted in a parallelmanner for more than two rasters. As the number of rasters that undergoparallel processing increases, the frequency of writing to the errorbuffer decreases, thereby enabling dot on-off state determination to beconducted more quickly to that extent, which is preferred.

C-2. Modifications

[0209] The tone number conversion routine of the second embodimentdescribed above determines the dot on-off state using a method thatconforms to the so-called average error minimum method. Namely, thebinarization error occurring in a target pixel is stored for the targetpixel, and when dot on-off state determination is conducted for a newpixel, it is conducted while taking into account the binarization errorsstored in connection with the surrounding pixels. In the tone numberconversion routine of the first embodiment described above, the doton-off state is determined using a method that conforms to the so-callederror diffusion method. Namely, the binarization error occurring in atarget pixel is diffused into the surrounding pixels, and when doton-off state determination is conducted for a new pixel, it is conductedwhile taking into account the diffused errors diffused from surroundingpixels that previously underwent dot on-off state determination.However, it is also possible to conduct dot on-off state determinationusing both the average error minimum method and the error diffusionmethod. A brief description of this modification of the secondembodiment will be provided below.

[0210]FIG. 16 is an explanatory drawing showing a conceptual view of thetone number conversion routine of a modification of the secondembodiment. To avoid making the description unduly complex, the rasters(i) and (j) are processed in a parallel manner in this description. Whenthe binarization error is diffused into the surrounding pixels, it isdiffused in accordance with the simple error diffusion matrix shown inFIG. 6(a), and when dot on-off state determination is conducted takinginto account the surrounding pixel binarization errors, the binarizationerrors for each pixel in accordance with the simple matrix shown in FIG.14(a) are taken into account.

[0211]FIG. 16(a) is an explanatory drawing showing the situation inwhich the dot on-off state is determined for the pixel Pi0 at the leftedge of the raster (i). The binarization errors occurring in each pixelof the raster (h) during dot on-off state determination are diffused andstored in connection with the pixels of the raster (i). For example, theerror sum Edi0 diffused from the raster (h) is stored in connection withthe pixel Pi0, the error sum Edi1 diffused from the raster (h) is storedin connection with the pixel Pi1, and the diffused error sum Edi2 isstored in connection with the pixel Pi2. For ease of understanding, theerror diffusion matrix used is shown in FIG. 16(b). In addition, thearrows pointing from the pixels of the raster (h) toward the pixels ofthe raster (i) indicate in a conceptual manner the diffusion of errorsfrom each pixel.

[0212] Once dot on-off state determination has been conducted for thepixel Pi0, the binarization error Ei0 occurring in connection with suchdetermination is stored in the registers of the CPU 102, and dot on-offstate determination for the pixel adjacent thereto on the right, i.e.,the pixel Pi1, is then begun. Dot on-off state determination for thepixel Pi1 is conducted in the same manner as in the tone numberconversion routine of the first embodiment described with reference toFIG. 7. Namely, the binarization error sum Edi1 diffused and accumulatedbeforehand in connection with the pixel Pi1 is read out, and dot on-offstate determination is conducted based on the image data while takinginto account this diffused error sum Edi1 and the error diffused fromthe pixel Pi0 for which dot on-off state determination has just beenconducted. After dot on-off state determination is conducted for thepixel Pi1 in this manner, the binarization error Ei1 occurring due tosuch determination is stored in the registers of the CPU 102, as in thecase of the pixel Pi0.

[0213] Once dot on-off state determination has been conducted for thepixels Pi0 and Pi1 of the raster (i) as described above, dot on-offstate determination is conducted for the pixel Pj0 at the left edge ofthe raster (j). FIG. 16(c) is an explanatory drawing showing thesituation in which dot on-off state determination is conducted for thepixel Pj0 in the raster (j). Here, dot on-off state determination forthe pixel Pj0 in the raster (j) is conducted using a method thatconforms to the average error minimum method. Namely, dot on-off statedetermination is conducted while taking into account surrounding pixelbinarization errors subjected to a predetermined weighting establishedfor each pixel in accordance with a matrix. For ease of understanding,the matrix used is shown in FIG. 16(d).

[0214] As can be seen from the matrix shown in FIG. 16(d), it isacceptable if binarization errors occurring in the pixels Pi0 and Pi1are taken into account when dot on-off state determination is conductedfor the pixel Pj0. As described above, because these binarization errorshave been already sought and stored in the registers of the CPU 102, doton-off state determination for the pixel Pj0 can be conducted quickly.Because the binarization error Ej0 occurs as a result of this dot on-offstate determination for the pixel Pj0, it is allocated to thesurrounding pixels in the raster (k) as a diffused error in accordancewith an error diffusion matrix. For the allocation of diffused errors,the error diffusion matrix shown in FIG. 16(b) is used. Because parallelprocessing of the pixels of the rasters (i) and (j) is carried out here,dot on-off state determination for the pixels of the raster (k) isconducted only after the processing of these rasters is completed.Accordingly, errors diffused into the pixels of the raster (k) areaccumulated in the error buffer of the RAM 106. In FIG. 16(c), the whitearrows pointing from the pixel Pj0 toward the raster (k) pixels Pk0 andPk1 indicate that the diffused error portions allocated to those pixelsare stored in the error buffer of the RAM 106.

[0215] As described above, dot on-off state determination is conductedfor the pixels of the raster (i) in accordance with the error diffusionmethod, while dot on-off state determination is conducted for the pixelsof the raster (j) in accordance with the average error minimum method.Binarization errors occurring in the pixels of the raster (j) arediffused into surrounding pixels in accordance with the error diffusionmethod. By repeating these operations, the dot on-off state of thepixels in the rasters (i) and (j) can be conducted in an alternatingmanner. FIG. 16(e) is an explanatory drawing showing a conceptual viewof this process. In FIG. 16(e), the fact that the diffused errors fromthe raster (h) are stored in connection with the pixels of the raster(i) is indicated by the hatched lines in the pixels of the raster (i).Similarly, the fact that the diffused errors from the raster (j) arestored in connection with the pixels of the raster (k) is indicated bythe hatched lines in the pixels of the raster (k). Furthermore, thenumbers enclosed in circles in FIG. 16(e) indicate the order in whichdot on-off state determination is conducted for those pixels. As shownin the drawing, by grouping each pixel in the raster (i) with the pixelbelow and to the left of such pixel in the raster (j), and conductingdot on-off state determination while successively moving the position ofeach such group one pixel to the right, the rasters (i) and (j) can beprocessed in a parallel manner.

[0216] If dot on-off state determination is conducted for the pixels ofthe rasters (i) and (j) in a parallel and alternating manner, dot on-offstate determination can conducted for the pixels of the raster (j) usingthe binarization errors occurring in the pixels of the raster (i), andit is no longer necessary to stored the binarization errors for thepixels of the raster (i) in the error buffer. As a result, the frequencyof writing to the error buffer can be reduced, enabling dot on-off statedetermination to be conducted more quickly.

[0217] In the above description, while a method conforming to the errordiffusion method was applied during dot on-off state determination forthe pixels of the raster (i), and a method conforming to the averageerror minimum method was applied during dot on-off state determinationfor the pixels of the raster (j), the same results will naturally beachieved if a method conforming to the average error minimum method isapplied during dot on-off state determination for the pixels of theraster (i), and a method conforming to the error diffusion method isapplied during dot on-off state determination for the pixels of theraster (j).

[0218] In the modification of the second embodiment described above,parallel processing of the two rasters (i) and (j) was performed, but itis naturally also acceptable if dot on-off state determination for thepixels of more than two rasters is conducted in a parallel manner.

[0219] While various embodiments were described above, the presentinvention is not limited to these embodiments, and may be implemented invarious ways within the essential scope of the invention. For example,it is acceptable if the software program (application program) thatimplements the functions described above is supplied to the computersystem main memory or to an external memory device over communicationlines and executed therefrom. Naturally, it is also acceptable if asoftware program stored on a CD-ROM or floppy disk is read and executed.

[0220] In the various embodiments described above, an image dataconversion routine including a tone number conversion routine wasexecuted within the computer, but it is also acceptable if part or allof the image data conversion routine is executed on the printer side, orusing a dedicated image processing apparatus.

[0221] Furthermore, it is acceptable if the video display apparatus isnot limited to a printing apparatus that prints images by forming inkdots on a printing medium, and may comprise a liquid crystal displayapparatus that expresses images in which the tone changes continuouslyby, for example, distributing the luminescent spots on the liquidcrystal display screen at an appropriate density.

Industrial Applicability

[0222] As described above, because the image processing apparatus,printing control apparatus and image processing method of the presentinvention enable image data to be quickly converted without imagequality deterioration, they may be advantageously applied in an imageoutput apparatus. In particular, they may be advantageously applied in aprinting apparatus that handles large blocks of image data and printshigh-quality images, or prints images at high speed withoutdeterioration of image quality.

1. An image processing apparatus that converts image data into aspecific expression format based on the dot on-off state by receivingimage data representing tone values for each pixel and determining thedot on-off state for each pixel along a raster which is a row of suchpixels, said image processing apparatus comprising: a raster groupingmodule that generates a raster group by grouping multiple adjacentrasters; a last raster conversion module that selects the last raster atthe end of said raster group, and by conducting dot on-off statedetermination for each pixel included in this last raster, converts thelast raster into a dot row that indicates the dot on-off state; a firsterror diffusion module that calculates the binarization error arising ineach pixel included in the last raster due to said dot on-off statedetermination and diffuses the error among multiple state-undeterminedpixels in the vicinity of each such pixel; a first raster conversionmodule that selects the first raster located in the top position amongthe rasters in the raster group adjacent to the last raster and, bydetermining the dot on-off state for each pixel included in the firstraster while taking into account the binarization errors diffused fromthe last raster among the pixels in this first raster, converts thefirst raster into a dot row that indicates the dot on-off state; asecond error diffusion module that diffuses the binarization erroroccurring in each pixel included in the first raster among thestate-undetermined pixels in the vicinity of each such pixel; and aremaining raster conversion module that converts the remaining rasterother than the first raster of the raster group into a dot row inparallel with the conversion of the first raster into a dot row bydetermining the dot on-off state for each pixel in the remaining rasterwhile taking into account the binarization errors that were diffusedfrom the pixels that belong to the same raster group as the remainingraster and previously underwent dot on-off state determination, andwherein said first error diffusion module and said second errordiffusion module are modules that store in a first error storage unitthe errors that are diffused into pixels belonging to a raster groupdifferent from that containing the pixels as to which said dot on-offstate determination has been conducted, and store in a second errorstorage unit the errors that are diffused into pixels belonging to thesame raster group as the pixels as to which said dot on-off statedetermination has been conducted.
 2. An image processing apparatus inaccordance with claim 1, wherein said second error storage unit is astorage unit regarding which at least one of the operations of datastorage or data reading is performed more quickly than with regard tosaid first error storage unit.
 3. An image processing apparatus inaccordance with claim 1, wherein said first error storage unitsimultaneously stores at least as many diffused errors as the number ofpixels included in said first raster, and said second error storage unitsimultaneously stores fewer diffused errors than the number of pixelsincluded in said first raster.
 4. An image processing apparatus inaccordance with claim 3 that converts said image data using a computer,wherein said first error storage unit is a storage element to and fromwhich said computer reads and writes data indirectly, and said seconderror storage unit is a storage element to and from which said computerreads and writes data directly.
 5. An image processing apparatus inaccordance with claim 1, wherein said first error diffusion module is amodule that, when diffusing errors into pixels of a raster groupdifferent from the raster group containing the pixels as to which saiddot on-off state determination has been performed, diffuses the errorsonly into those pixels in said first raster adjacent to said lastraster.
 6. An image processing apparatus in accordance with claim 1,wherein said raster group generating module generates said raster groupby grouping two of said rasters that are adjacent, said first errordiffusion module diffuses said binarization errors into the pixels ofsaid last raster and into the pixels of said first raster that isadjacent to the last raster, said second error diffusion module diffusessaid binarization errors that occur in the pixels of said first rasterinto the pixels of the first raster and into the pixels of said lastraster that follows said first raster, and said remaining rasterconversion module converts said last raster into a dot row in a parallelmanner with the conversion of said first raster.
 7. An image processingapparatus in accordance with claim 1, wherein at least one of said firsterror diffusion module or said second diffusion module is a module that,when said binarization errors are diffused into pixels that are distantfrom the pixels in which such binarization errors occurred by apredetermined number of pixels, diffuses them only into pixels belongingto a raster group different from the raster group that contains thepixels for which said dot on-off state determination has been conducted.8. An image processing apparatus that converts image data into aspecific expression format based on the dot on-off state, by receivingimage data representing tone values for each pixel and determining thedot on-off state for each pixel along a raster which is a row of suchpixels, said image processing apparatus comprising: a raster groupingmodule generates a raster group by grouping multiple adjacent rasters; aselected raster conversion module selects at least a last raster locatedat the end of said raster group, and by conducting dot on-off statedetermination for each pixel included in the selected raster, convertsthe selected raster into a dot row indicating the dot on-off state; afirst binarization error storage module calculates the binarizationerror arising in each pixel included in the selected raster due to eachdot on-off state determination and stores it in a first storage unitwhile associating it with each state-determined pixel; a first rasterconversion module selects the first raster located in the top positionamong the rasters in the raster group adjacent to the last raster, andby determining the dot on-off state for each such pixel included in thefirst raster while taking into consideration the binarization errorsstored in association with the dot state-determined pixels in thevicinity of each pixel included in the first raster, converts the firstraster into a dot row; a second binarization error storage module storesthe binarization error occurring in each pixel of the first raster in asecond storage unit while associating it with each dot state-determinedpixel; and a remaining raster conversion module converts the remainingraster other than the first raster of the raster group into a dot row inparallel with the conversion of the first raster into a dot row, bydetermining the dot on-off state for each pixel in the remaining rasterwhile taking into account the binarization errors that occurred in thepixels that belong to the same raster group as the remaining raster andpreviously underwent dot on-off state determination.
 9. An imageprocessing apparatus in accordance with claim 8, wherein said secondstorage unit is a storage unit regarding which at least one of theoperations of data storage or data reading is performed more quicklythan said first storage unit.
 10. An image processing apparatus inaccordance with claim 8, wherein said first error storage unitsimultaneously stores as many binarization errors that occur in thepixels included in said last raster as the number of pixels thatconstitute the last raster, and said second error storage unitsimultaneously stores fewer diffused errors that occur in the pixelsincluded in said first raster than the number of pixels that constitutethe first raster.
 11. An image processing apparatus in accordance withclaim 8 that performs conversion of said image data using a computer,wherein said first storage unit is a storage element to or from which aprocessing unit of said computer writes or reads data indirectly, andsaid second storage unit is a storage element to or from which theprocessing unit of said computer writes or reads data directly.
 12. Animage processing apparatus in accordance with claim 8, wherein saidfirst binarization error storage module stores in said first storageunit only binarization errors that occur in the pixels included in saidlast raster among the rasters of said raster group.
 13. An imageprocessing apparatus in accordance with claim 8, wherein said rastergrouping module generates said raster group by grouping together twoadjacent rasters, said first binarization error storage module stores insaid first storage unit only binarization errors that occur in said lastraster, and said remaining raster conversion module converts said lastraster into a dot row in a parallel manner with the conversion of saidfirst raster.
 14. An image processing apparatus in accordance with claim1 or claim 8, wherein said remaining raster conversion module convertssaid remaining raster into a dot row by conducting dot on-off statedetermination while taking into account said binarization errors thatwere diffused from the pixels that belong to the same raster group asthe remaining raster and previously underwent dot on-off statedetermination.
 15. An image processing apparatus in accordance withclaim 1 or claim 8, wherein said remaining raster conversion moduleconverts said remaining raster into a dot row by conducting dot on-offstate determination while taking into account said binarization errorsthat occurred in and associated with the pixels that belong to the sameraster group as the remaining raster and previously underwent dot on-offstate determination.
 16. A printing control apparatus that convertsimage data into a specific expression format based on the dot on-offstate by receiving image data representing tone values for each pixeland determining the dot on-off state for each pixel along a raster whichis a row of such pixels, and controls a printing unit that prints imagesby forming ink dots on a printing medium by outputting print data to theprinting unit, said printing control apparatus comprising: a rastergrouping module that generates a raster group by grouping multipleadjacent rasters; a last raster conversion module that selects the lastraster at the end of said raster group, and by conducting dot on-offstate determination for each pixel included in this last raster,converts the last raster into a dot row that indicates the dot on-offstate; a first error diffusion module that calculates the binarizationerror arising in each pixel included in the last raster due to said doton-off state determination and diffuses the error among multiplestate-undetermined pixels in the vicinity of each such pixel; a firstraster conversion module that selects the first raster located in thetop position among the rasters in the raster group adjacent to the lastraster and, by determining the dot on-off state for each pixel includedin the first raster while taking into account the binarization errorsdiffused from the last raster among the pixels in this first raster,converts the first raster into a dot row that indicates the dot on-offstate; a second error diffusion module that diffuses the binarizationerror occurring in each pixel included in the first raster among thestate-undetermined pixels in the vicinity of each such pixel; aremaining raster conversion module that converts the remaining rasterother than the first raster of the raster group into a dot row inparallel with the conversion of the first raster into a dot row bydetermining the dot on-off state for each pixel in the remaining rasterwhile taking into account the binarization errors that were diffusedfrom the pixels that belong to the same raster group as the remainingraster and previously underwent dot on-off state determination; and aprint data output module that outputs to said printing unit as saidprint data the dot row for said converted first raster and the dot rowfor said remaining raster, wherein said first error diffusion module andsaid second error diffusion module are modules that store in a firsterror storage unit the errors that are diffused into pixels belonging toa raster group different from that containing the pixels as to whichsaid dot on-off state determination has been conducted, and store in asecond error storage unit the errors that are diffused into pixelsbelonging to the same raster group as the pixels as to which said doton-off state determination has been conducted.
 17. A printing controlapparatus that converts image data into a specific expression formatbased on the dot on-off state by receiving image data representing tonevalues for each pixel and determining the dot on-off state for eachpixel along a raster which is a row of such pixels, and controls aprinting unit that prints images by forming ink dots on a printingmedium by outputting print data to the printing unit, said printingcontrol apparatus comprising: a raster grouping module generates araster group by grouping multiple adjacent rasters; a selected rasterconversion module selects at least a last raster located at the end ofsaid raster group, and by conducting dot on-off state determination foreach pixel included in the selected raster, converts the selected rasterinto a dot row indicating the dot on-off state; a first binarizationerror storage module calculates the binarization error arising in eachpixel included in the selected raster due to each dot on-off statedetermination and stores it in a first storage unit while associating itwith each state-determined pixel; a first raster conversion moduleselects the first raster located in the top position among the rastersin the raster group adjacent to the last raster, and by determining thedot on-off state for each such pixel included in the first raster whiletaking into consideration the binarization errors stored in associationwith the dot state-determined pixels in the vicinity of each pixelincluded in the first raster, converts the first raster into a dot row;a second binarization error storage module stores the binarization erroroccurring in each pixel of the first raster in a second storage unitwhile associating it with each dot state-determined pixel; a remainingraster conversion module converts the remaining raster other than thefirst raster of the raster group into a dot row in parallel with theconversion of the first raster into a dot row, by determining the doton-off state for each pixel in the remaining raster while taking intoaccount the binarization errors that occurred in the pixels that belongto the same raster group as the remaining raster and previouslyunderwent dot on-off state determination; and a print data output modulethat outputs to said printing unit as said print data the dot row forsaid converted first raster and the dot row for said remaining raster.18. An image processing method for converting image data into a specificexpression format based on the dot on-off state by receiving image datarepresenting tone values for each pixel and determining the dot on-offstate for each pixel along a raster which is a row of such pixels, saidimage processing method comprising the steps of: (A) generating a rastergroup by grouping multiple adjacent rasters; (B) selecting the lastraster at the end of the said raster group and determining the doton-off state for each pixel included in this last raster, therebyconverting the last raster into a dot row that indicates the dot on-offstate; (C) calculating the binarization error arising in each pixel dueto this dot on-off state determination and diffusing it among multiplestate-undetermined pixels in the vicinity of each such pixel; (D)selecting the first raster located in the top position among the rastersin the raster group adjacent to the last raster, and converting thefirst raster into a dot row that indicates the dot on-off state bydetermining the dot on-off state for each pixel included in the firstraster while taking into consideration the binarization errors diffusedfrom the last raster among the pixels of said first raster; (E)diffusing the binarization error occurring in each pixel included in thefirst raster among the state-undetermined pixels in the vicinity of eachsuch pixel; and (F) converting the remaining raster other than the firstraster of the raster group into a dot row in parallel with theconversion of the first raster into a dot row, by determining the doton-off state for each pixel in the remaining raster while taking intoaccount the binarization errors that were diffused from the pixels thatbelong to the same raster group as the remaining raster and previouslyunderwent dot on-off state determination, wherein the steps (C) and (E)are steps whereby the errors that are diffused into pixels belonging tothe same raster group as the pixels as to which said dot on-off statedetermination has been conducted are stored separately from the errorsthat are diffused into pixels belonging to a different group.
 19. Animage processing method for converting image data into a specificexpression format based on the dot on-off state, by receiving image datarepresenting tone values for each pixel and determining the dot on-offstate for each pixel along a raster which is a row of such pixels, saidimage processing method comprising the steps of: (A) generating a rastergroup by grouping multiple adjacent rasters; (B) selecting at least alast raster located at the end of said raster group and conducting doton-off state determination for each pixel included in the selectedraster, thereby converting the selected raster into a dot row indicatingthe dot on-off state; (C) calculating the binarization error arising ineach pixel included in the selected raster due to this dot on-off statedetermination and storing it in a first storage unit while associatingit with each state-determined pixel; (D) selecting the first rasterlocated in the top position among the rasters in the raster groupadjacent to the last raster and converting the first raster into a dotrow by determining the dot on-off state for each such pixel while takinginto consideration the binarization errors stored in connection with thedot state-determined pixels in the vicinity of each pixel comprising thefirst raster; (E) storing the binarization error occurring in each pixelof the first raster in a second storage unit separately from thebinarization error stored in the step (C) while associating it with eachstate-determined pixel; and (F) converting the remaining raster otherthan the first raster of the raster group into a dot row in parallelwith the conversion of the first raster into a dot row, by determiningthe dot on-off state for each pixel in the remaining raster while takinginto account the binarization errors that occurred in the pixels thatbelong to the same raster group as the remaining raster and previouslyunderwent dot on-off state determination.
 20. A recording medium onwhich is recorded a computer-readable program that implements a methodto convert image data into a specific expression format based on the doton-off state by receiving image data indicating tone values for eachpixel and determining the dot on-off state for each pixel along a rasterwhich is a row of such pixels, said program causing a computer attainthe functions of: (A) generating a raster group by grouping multipleadjacent rasters; (B) selecting the last raster at the end of the saidraster group and determining the dot on-off state for each pixelincluded in this last raster, thereby converting the last raster into adot row that indicates the dot on-off state; (C) calculating thebinarization error arising in each pixel due to this dot on-off statedetermination and diffusing it among multiple state-undetermined pixelsin the vicinity of each such pixel; (D) selecting the first rasterlocated in the top position among the rasters in the raster groupadjacent to the last raster, and converting the first raster into a dotrow that indicates the dot on-off state by determining the dot on-offstate for each pixel included in the first raster while taking intoconsideration the binarization errors diffused from the last rasteramong the pixels of said first raster; (E) diffusing the binarizationerror occurring in each pixel included in the first raster among thestate-undetermined pixels in the vicinity of each such pixel; and (F)converting the remaining raster other than the first raster of theraster group into a dot row in parallel with the conversion of the firstraster into a dot row, by determining the dot on-off state for eachpixel in the remaining raster while taking into account the binarizationerrors that were diffused from the pixels that belong to the same rastergroup as the remaining raster and previously underwent dot on-off statedetermination, wherein the steps (C) and (E) are steps whereby theerrors that are diffused into pixels belonging to the same raster groupas the pixels as to which said dot on-off state determination has beenconducted are stored separately from the errors that are diffused intopixels belonging to a different group.
 21. A recording medium on whichis recorded a computer-readable program that implements a method toconvert image data into a specific expression format based on the doton-off state by receiving image data representing tone values for eachpixel and determining the dot on-off state for each pixel along a rastercomprising a row of such pixels, said program causing a computer attainthe functions of: (A) generating a raster group by grouping multipleadjacent rasters; (B) selecting at least a last raster located at theend of said raster group and conducting dot on-off state determinationfor each pixel included in the selected raster, thereby converting theselected raster into a dot row indicating the dot on-off state; (C)calculating the binarization error arising in each pixel included in theselected raster due to this dot on-off state determination and storingit in a first storage unit while associating it with eachstate-determined pixel; (D) selecting the first raster located in thetop position among the rasters in the raster group adjacent to the lastraster and converting the first raster into a dot row by determining thedot on-off state for each such pixel while taking into consideration thebinarization errors stored in connection with the dot state-determinedpixels in the vicinity of each pixel comprising the first raster; (E)storing the binarization error occurring in each pixel of the firstraster in a second storage unit separately from the binarization errorstored in the step (C) while associating it with each state-determinedpixel; and (F) converting the remaining raster other than the firstraster of the raster group into a dot row in parallel with theconversion of the first raster into a dot row, by determining the doton-off state for each pixel in the remaining raster while taking intoaccount the binarization errors that occurred in the pixels that belongto the same raster group as the remaining raster and previouslyunderwent dot on-off state determination.
 22. A computer program thatimplements a method to convert image data into a specific expressionformat based on the dot on-off state by receiving image data indicatingtone values for each pixel and determining the dot on-off state for eachpixel along a raster which is a row of such pixels, said program causinga computer attain the functions of: (A) generating a raster group bygrouping multiple adjacent rasters; (B) selecting the last raster at theend of the said raster group and determining the dot on-off state foreach pixel included in this last raster, thereby converting the lastraster into a dot row that indicates the dot on-off state; (C)calculating the binarization error arising in each pixel due to this doton-off state determination and diffusing it among multiplestate-undetermined pixels in the vicinity of each such pixel; (D)selecting the first raster located in the top position among the rastersin the raster group adjacent to the last raster, and converting thefirst raster into a dot row that indicates the dot on-off state bydetermining the dot on-off state for each pixel included in the firstraster while taking into consideration the binarization errors diffusedfrom the last raster among the pixels of said first raster; (E)diffusing the binarization error occurring in each pixel included in thefirst raster among the state-undetermined pixels in the vicinity of eachsuch pixel; and (F) converting the remaining raster other than the firstraster of the raster group into a dot row in parallel with theconversion of the first raster into a dot row, by determining the doton-off state for each pixel in the remaining raster while taking intoaccount the binarization errors that were diffused from the pixels thatbelong to the same raster group as the remaining raster and previouslyunderwent dot on-off state determination, wherein the steps (C) and (E)are steps whereby the errors that are diffused into pixels belonging tothe same raster group as the pixels as to which said dot on-off statedetermination has been conducted are stored separately from the errorsthat are diffused into pixels belonging to a different group.
 23. Acomputer program that implements a method to convert image data into aspecific expression format based on the dot on-off state by receivingimage data indicating tone values for each pixel and determining the doton-off state for each pixel along a raster which is a row of suchpixels, said program causing a computer attain the functions of: (A)generating a raster group by grouping multiple adjacent rasters; (B)selecting at least a last raster located at the end of said raster groupand conducting dot on-off state determination for each pixel included inthe selected raster, thereby converting the selected raster into a dotrow indicating the dot on-off state; (C) calculating the binarizationerror arising in each pixel included in the selected raster due to thisdot on-off state determination and storing it in a first storage unitwhile associating it with each state-determined pixel; (D) selecting thefirst raster located in the top position among the rasters in the rastergroup adjacent to the last raster and converting the first raster into adot row by determining the dot on-off state for each such pixel whiletaking into consideration the binarization errors stored in connectionwith the dot state-determined pixels in the vicinity of each pixelcomprising the first raster; (E) storing the binarization erroroccurring in each pixel of the first raster in a second storage unitseparately from the binarization error stored in the step (C) whileassociating it with each state-determined pixel; and (F) converting theremaining raster other than the first raster of the raster group into adot row in parallel with the conversion of the first raster into a dotrow, by determining the dot on-off state for each pixel in the remainingraster while taking into account the binarization errors that occurredin the pixels that belong to the same raster group as the remainingraster and previously underwent dot on-off state determination.